2011-11-05 4 views
1

J'utilise CodeIgniter et je veux afficher une liste de villes dans plusieurs colonnes en html comme ceci où je peux simplement ajuster le nombre d'éléments à l'intérieur de la balise <ul> et générer une autre <ul> tag pour la colonne suivanteComment afficher les données mysql dans les lignes html

---------------- 
City name 1  City name 5 City name 9 
City name 2  City name 6 City name 10 
City name 3  City name 7 
City name 4  City name 8 
------------------- 

Je ne sais pas comment l'afficher comme ça, mais voici mon code actuel qui affiche tout dans une colonne.

<ul> 
<?php 
     foreach($row_city as $city):  
     echo "<li>".anchor("#",$city->city_name)."</li>"; 
     endforeach; 
?> 
</ul> 

Répondre

1

Vous n'avez pas besoin d'utiliser des tables. Il suffit d'utiliser ce code:

$i = 0; 
echo "<ul>"; 
foreach($row_city as $city):  
    if ($i != 0 && $i%4 == 0) { 
     echo "</ul><ul>"; 
    } 
    echo "<li>".anchor("#",$city->city_name)."</li>"; 
    $i++; 
endforeach; 
echo "</ul>"; 

et juste faire flotter les listes les unes à côté des autres.

+0

travaillé comme un charme. Merci beaucoup! –

0

Vous pouvez essayer de l'afficher dans une table comme ça avec ce code html:

<table> 
    <tr> 
    <td> 
    <ul> 
     <li>element1</li> 
     <li>element1</li> 
     <li>element1</li> 
    </ul> 
    </td> 
    <td> 
    <ul> 
     <li>element2</li> 
     <li>element2</li> 
     <li>element2</li> 
    </ul> 
    </td> 
    <td> 
    <ul> 
     <li>element2</li> 
     <li>element2</li> 
     <li>element2</li> 
    </ul> 
    </td> 
</table> 

Et vous devez mettre à jour votre code pour le faire fonctionner avec plus colonne. Voici un exemple de code php qui montrent ce genre de sortie:

<table> 
<?php 
echo '<td><ul>'; 
$j =4; 
for($i = 0; $i<10; $i++){ 
if($j==0){ 
echo '</ul></td><td><ul>'; 
$j=4; 
} 
echo "<li>".$i."</li>"; 
$j--; 
} 
echo '</ul></td>'; 
?> 

Vous pouvez l'adapter à votre problème (essayez de remplacer le pour votre foreach).

Questions connexes