2017-08-08 3 views
1

Comment puis-je afficher les régions et leurs villes uniquement avec des annonces? Et pourquoi je ne peux pas voir le nombre de publicités? Je voudrais utiliser jQuery mais je ne sais pas comment.En osclass, comment afficher les villes uniquement avec des publicités?

<?php 
       $aRegions = Region::newInstance()->getByCountry('AT'); 
       if(count($aRegions) > 0) { ?> 
       <ul> 
       <?php 
       foreach($aRegions as $region) { 
       //print_r ($region); 
       echo "<li>"; 
       //$region['pk_i_id']. 
       ?> 
       <div class="accordionButton"> 
       <a href="javascript:void()"> 
        <?php echo $region['s_name']."\n"; ?> 
       </a> 
       <?php // echo "</em>(". $region['items'].")</em>";?> 
       </div> 
        <?php 
        $aCities = City::newInstance()-> getByRegion($region['pk_i_id']); 
        if(count($aCities) > 0) { 
        echo "<div class=\"accordionContent\">"; 
        echo "<ul>"; 
         foreach($aCities as $city) { 
        // print_r ($city); 
               //$city["pk_i_id"].' 
         echo "<li>"; 
         echo "<a href='". osc_search_url(array('sRegion'=>$region["s_name"], 'sCity' => $city['s_name'] )) ."'> "; 
         echo $city["s_name"]."\n"; 
         echo "</em>(". $city['items'].")</em>"; 
         echo "</a>"; 
         echo "</li>"; 
         } 
         } 
         echo "</ul>"; 
       echo "</li>"; 
        } ?> 
      </ul> 
      <?php 
       } 
      ?> 

Répondre

0

La solution pour les régions> villes est:

$locations = array(); 
if(osc_count_list_cities() > 0) { 

    while(osc_has_list_cities()) { 
     $city_id = osc_list_city_id(); 
     $city = City::newInstance()->findByPrimaryKey($city_id); 
     $region_id = $city['fk_i_region_id']; 
     $locations[$region_id][$city_id] = array("cityurl"=>osc_list_city_url(), "cityname"=>osc_list_city_name(), "cityitems"=>osc_list_city_items()); 
    } 
    echo '<ul>'; 
    while(osc_has_list_regions()) { 
     $region_id = osc_list_region_id(); 
     echo '<li><a href="' . osc_list_region_url() . '">' . osc_list_region_name() . '<em>(' . osc_list_region_items() . ')</em></a>' ; 
     echo '<ul>'; 
     foreach($locations[$region_id] as $acity) { 
      echo '<li><a href="' . $acity['cityurl'] . '">' . $acity['cityname'] . '<em>(' . $acity['cityitems'] . ')</em></a></li>' ; 
     } 
     echo '</ul></li><br/>'; 

    } 
    echo '</ul>'; 

} 
+0

Merci! Ton code est bon! J'ai besoin de le réécrire maintenant pour l'affichage du pays. Ceci est mon code mais ne fonctionne pas correctement, au lieu de montrer les régions allemandes ce code affiche de nouveau les régions autrichiennes: – Tomasz

+0

J'ai posté la réponse pour votre nouvelle question, qui inclut tous les pays. –

1

La solution pour les villes est:

Maintenant, il est testé et workes pour les villes Ceci listera toutes les villes et leur nombre d'éléments.

+0

I 'ai ouvert un sujet ici https://forums.osclass.org/3-7-x/how-to-list-all-cities-with-ads-under-all-regions/msg156255/#msg156255 demander de l'aide concernant l'affichage de la région + villes avec leurs annonces. –

0

Merci! Ton code est bon! J'ai besoin de le réécrire maintenant pour l'affichage du pays. Ceci est mon code, mais ne fonctionne pas correctement, au lieu de montrer les régions allemandes cet affichage de code régions austrian à nouveau:

<?php 


$locations = array(); 
if(osc_count_list_cities() > 0) { 

while(osc_has_list_cities()) { 
    $city_id = osc_list_city_id(); 
    $city = City::newInstance()->findByPrimaryKey($city_id); 
    $region_id = $city['fk_i_region_id']; 
    $locations[$region_id][$city_id] = array("cityurl"=>osc_list_city_url(), "cityname"=>osc_list_city_name(), "cityitems"=>osc_list_city_items()); 
} 
?> 
          <ul> 

       <?php  while(osc_has_countries()) { ?> 

          <li><a href="<?php echo osc_country_url(array('sCountry' => osc_list_country_code())) ; ?>"><?php echo osc_country_name() ; ?> <em>(<?php echo osc_country_items() ; ?>)</em></a> 





         <?php if (osc_country_name() =='Austria') { ?> 
<?php      
echo '<ul>'; 
while(osc_has_list_regions('AT')) { 
    $region_id = osc_list_region_id(); 
    echo '<li><a href="' . osc_list_region_url() . '">' . osc_list_region_name() . '<em>(' . osc_list_region_items() . ')</em></a>' ; 
    echo '<ul>'; 
    foreach($locations[$region_id] as $acity) { 
     echo '<li><a href="' . $acity['cityurl'] . '">' . $acity['cityname'] . '<em>(' . $acity['cityitems'] . ')</em></a></li>' ; 
    } 
    echo '</ul></li><br/>'; 

} 
echo '</ul>'; 

         } 


       if (osc_country_name() =='Germany') { ?> 
<?php      
echo '<ul>'; 
while(osc_has_list_regions('DE')) { 
    $region_id = osc_list_region_id(); 
    echo '<li><a href="' . osc_list_region_url() . '">' . osc_list_region_name() . '<em>(' . osc_list_region_items() . ')</em></a>' ; 
    echo '<ul>'; 
    foreach($locations[$region_id] as $acity) { 
     echo '<li><a href="' . $acity['cityurl'] . '">' . $acity['cityname'] . '<em>(' . $acity['cityitems'] . ')</em></a></li>' ; 
    } 
    echo '</ul></li><br/>'; 

} 
echo '</ul>'; 
       } 
       } 

} ?> 
0

La solution pour les pays> Régions> Villes en Osclass 3.7.x est

$locations = array(); 
    if(osc_count_list_cities() > 0) { 

     while(osc_has_list_cities()) { 
     $city_id = osc_list_city_id(); 
     $city = City::newInstance()->findByPrimaryKey($city_id); 
     $region_id = $city['fk_i_region_id']; 
     $country_code = strtolower($city['fk_c_country_code']); 
     $locations[$country_code][$region_id][$city_id] = array("cityurl"=>osc_list_city_url(), "cityname"=>osc_list_city_name(), "cityitems"=>osc_list_city_items()); 
     } 
    $locationsRegions = array(); 
     while(osc_has_list_regions()) { 
     $region_id = osc_list_region_id(); 
     $region = Region::newInstance()->findByPrimaryKey($region_id); 
     $country_code = strtolower($region['fk_c_country_code']); 
     $locationsRegions[$country_code][$region_id] = array("regionurl"=>osc_list_region_url(), "regionname"=>osc_list_region_name(), "regionitems"=>osc_list_region_items()); 
     } 

    echo "<ul>"; 
    while(osc_has_list_countries()) { 
     $country_code = strtolower(osc_list_country_code()); 
     echo '<li><a href="' . osc_list_country_url() . '">' . osc_list_country_name() . '<em>(' . osc_list_country_items() . ')</em></a>' ; 
     echo '<ul>'; 
     foreach($locationsRegions[$country_code] as $regionId => $aregion) { 
      echo '<li>'; 
      echo '<a href="' . $aregion['regionurl'] . '">' . $aregion['regionname'] . '<em>(' . $aregion['regionitems'] . ')</em></a></br>' ; 
      echo '<ul>'; 
      foreach($locations[$country_code][$regionId] as $acity) { 
       echo '<li><a href="' . $acity['cityurl'] . '">' . $acity['cityname'] . '<em>(' . $acity['cityitems'] . ')</em></a></li>' ; 
      } 
      echo '</ul></li><br/>'; 
     } 
     echo '</ul></li><br/>'; 


     } 
     echo '</ul>'; 

    } 
+0

"Avertissement: argument non valide fourni pour foreach()" foreach ($ locationsRegions [$ country_code] as $ regionId => $ aregion) { – Tomasz

+0

Bonjour. Combien de pays avez-vous? Est-ce que cela fait écho à tous vos pays avec leurs régions et leurs villes qui ont des publicités? –

+0

Quelle version d'osclass utilisez-vous? –