2009-12-17 6 views
0

J'ai cette requête phpune liste avec différentes classes CSS et requête php

$sql = "SELECT * FROM db"; 
$query = mysql_query($sql); 
while($row = mysql_fetch_assoc($query)) 

{ 

    echo "<ul>"; 

    echo "<li>{$row['title']}</li>"; 

    echo "</ul>"; 

} 

et mon code xhtml est:

<ul> 
<li class="pdn5">one</li> 
<li class="pdn5">two</li> 
<li class="no-pdn">three</li> 
</ul> 

Dans ce cas, comment peut écrire la boucle php? Merci à l'avance

Répondre

1

Modifier votre code comme ceci:

$sql = "SELECT * FROM db"; 
$query = mysql_query($sql); 
    echo "<ul>"; 
while($row = mysql_fetch_assoc($query)) 

{ 
    echo "<li class='some_class'>{$row['title']}</li>"; 
} 
    echo "</ul>"; 

Mise à jour pour le nom de la classe de l'élément li:

Si votre souhaitez ajouter des classes spécifiques pour chacun des éléments de la liste, vous pouvez, par exemple, stocker ce nom de classe dans DB et le récupérer avec votre titre. Ou il est également possible de créer un nom de classe, basé sur la valeur $ row ['title']. Par exemple:

echo "<li class='li_".$row['title']."'>{$row['title']}</li>"; 
3

En supposant que vous voulez la dernière rangée d'être le seul « sans-PDN », vous pouvez ensuite utiliser ceci:

$sql = "SELECT * FROM db"; 
$query = mysql_query($sql); 
$numRows = mysql_num_rows($query); 
$i = 1; 
while($row = mysql_fetch_assoc($query)) 
{  
    echo "<ul>";  
    echo '<li class="'.($i < $numRows ? 'pdn5' : 'no-pdn').'">' 
     .$row['title']."</li>"; 
    echo "</ul>"; 
    i++; 
}