• User Attivo

    [Aiuto Php] Spezzare elenco in 2 colonne

    Ciao ragazzi se qualcuno può aiutami mi farebbe un grandissimo piacere perchè io di PHP purtroppo non ci capisco niente!
    Sul mio sito in firma, il codice che segue mi genera la colonna sulla destra con la lista delle regioni (in verde il punto).
    Il problema è che voglio passare dalle regioni alle province e così facendo la lista diventa troppo lunga! Io vorrei spezzare questa lista in 2 colonne!
    E' possibile secondo voi?
    Grazie per l'attenzione!

    <b><span class="Stile1">Filtra per Regione :</span></b>
    <table width="100%">
      <tr>
        <td valign="top"><?php
    // Show city list
    if($location_sort) 
    {
     $sort1 = "ORDER BY countryname";
     $sort2 = "ORDER BY cityname";
    }
    else
    {
     $sort1 = "ORDER BY c.pos";
     $sort2 = "ORDER BY ct.pos";
    }
    if ($show_region_adcount || $show_city_adcount)
    {
     // First get ads per city and country
     $country_adcounts = array();
     $city_adcounts = array();
     $sql = "SELECT ct.cityid, c.countryid, COUNT(*) as adcnt
       FROM $t_ads a
        INNER JOIN $t_cities ct ON ct.cityid = a.cityid AND ($visibility_condn)
        INNER JOIN $t_countries c ON ct.countryid = c.countryid
       WHERE ct.enabled = '1' AND c.enabled = '1'
       GROUP BY ct.cityid";
     $res = mysql_query($sql) or die(mysql_error().$sql);
     while($row=mysql_fetch_array($res))
     {
      $country_adcounts[$row['countryid']] += $row['adcnt'];
      $city_adcounts[$row['cityid']] += $row['adcnt'];
     }
    }
    $sql = "SELECT * FROM $t_countries c INNER JOIN $t_cities ct ON c.countryid = ct.countryid AND ct.enabled = '1' WHERE c.enabled = '1' GROUP BY c.countryid $sort1";
    $resc = mysql_query($sql);
    $country_count = mysql_num_rows($resc);
    //$split_at = ($country_count%3?((int)($country_count/3))+2:($country_count/3)+1);
    $percol = floor($country_count/$location_cols);
    $percolA = array();
    for($i=1;$i<=$location_cols;$i++) $percolA*=$percol+($i<=$country_count%$location_cols?1:0);
    $i = 0; $j = 0;
    $col = 1;
    while($country = mysql_fetch_array($resc))
    {
     if($sef_urls) $country_url = "{$vbasedir}-$country[countryid]_" . RemoveBadURLChars($country['countryname']) . "/";
     else $country_url = "?cityid=-$country[countryid]&lang=$xlang";
    ?>
     
     <div><a href="<?php echo $country_url; ?>" class="citylist_country"><?php echo $country['countryname']; ?> <?php if($show_region_adcount) echo "(".(0+$country_adcounts[$country['countryid']]).")"; ?></a></div>
     
     <?php
     if($country['countryid'] == $xcountryid || !$expand_current_region_only)
     {
      $sql = "SELECT * FROM $t_cities ct WHERE countryid = $country[countryid] AND enabled = '1' $sort2";
      $resct = mysql_query($sql);
      while($city=mysql_fetch_array($resct))
      {
       if($sef_urls) $city_url = "{$vbasedir}$city[cityid]_" . RemoveBadURLChars($city['cityname']) . "/";
       else $city_url = "?cityid=$city[cityid]&lang=$xlang";
     ?>
       <a href="<?php echo $city_url; ?>" class="citylist_city"><?php echo $city['cityname']; ?> <?php if($show_city_adcount) echo "(".(0+$city_adcounts[$city['cityid']]).")"; ?></a><br>
     
     <?php
      }
     }
     ?>
     
     <?php
     $i++; $j++;
     //if($i%$split_at == 0) echo "</td><td valign=\"top\">";
     if ($j%$percolA[$col]==0 && $i<$country_count) { echo "</td><td valign=\"top\">"; $col++; $j=0; } 
    }
    ?>
    </td>
      </tr>
    </table>
    

  • User Attivo

    up