Affichage du résultat d'une requête en liste
Posté : 12 mars 2009, 11:33
Bonjour à tous,
J'ai un problème pour l'affichage du résultat d'une requête PHP
Ma requête fonctionne c'est juste sur l'affichage que je bloque
Voici ce que j'aimerai :
Voici le code que j'utilise pour essayer d'obtenir cette affichage
Le problème c'est que mes listes s'affiche de cette manière
Le problème est donc ce </ul></li> qui se met après chaque item alors qu'il faudrait qu'il arrive après tous les items d'une liste.
Comment construire ma boucle pour arriver au bon résultat ? Je précise que c'est pour un menu en css et que je ne peux pas changer la façon de construire les listes.
J'espère ne pas être trop confus dans mes explications.
D'avance merci pour votre aide
J'ai un problème pour l'affichage du résultat d'une requête PHP
Ma requête fonctionne c'est juste sur l'affichage que je bloque
Voici ce que j'aimerai :
Code : Tout sélectionner
<li><a href="#">Catégorie n°1</a>
<ul>
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
</ul>
</li>
<li><a href="#">Catégorie n°2</a>
<ul>
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
</ul>
</li>
etc...
Code : Tout sélectionner
<?php
mysql_connect("SERVEUR", "HOSTNAME", "MDP"); // Connexion à MySQL
mysql_select_db("BASE"); // Sélection de la base
$retour = mysql_query("SELECT * FROM item ORDER BY Cat_name") or die(mysql_error());
$last_cat = '';
while ($donnees = mysql_fetch_assoc($retour)) // On fait une boucle
{
$current_cat = $donnees['Cat_id'];
//On entame une nouvelle categorie
if($last_cat != $current_cat)
{
echo '<li><a href="#">'.$donnees['Cat_name'].'</a>';
echo '<ul>';
}
//On affiche les items liés à cette categorie
echo '<li><a href="#">'.$donnees['Cat_item'].'</a></li>'."\n";
echo '</ul></li>'
$last_cat = $current_cat;
}
?>
Code : Tout sélectionner
<li><a href="#">Catégorie n°1</a>
<ul>
<li><a href="#">Item 1</a></li>
</ul></li>
<li><a href="#">Item 2</a></li>
</ul></li>
<li><a href="#">Item 3</a></li>
</ul></li>
<li><a href="#">Catégorie n°2</a>
<ul>
<li><a href="#">Item 1</a></li>
</ul></li>
<li><a href="#">Item 2</a></li>
</ul></li>
etc...
Comment construire ma boucle pour arriver au bon résultat ? Je précise que c'est pour un menu en css et que je ne peux pas changer la façon de construire les listes.
J'espère ne pas être trop confus dans mes explications.
D'avance merci pour votre aide