Résultat d'une requette dans un menu en liste
Encore un autre problème aujourd'hui...
je veux faire un menu qui utilise des listes et dont le contenu vient d'une Bdd
le premier niveau affiche les catégories (table "cat") et le second affiches des dossier (table "doss") correspondant à chaque catégories.
Du genre :
- cat1
[list:d1ecf3c415]doss1.1
doss1.2
doss1.3
[/list:u:d1ecf3c415]
- cat2
[list:d1ecf3c415]doss2.1
doss2.2
doss2.3
[/list:u:d1ecf3c415]
J'ai écrit le script suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
<?php
//connection au serveur:
$cnx = mysql_connect(SERVEUR, USER, PASS, DB) ;
//sÈlection de la base de donnÈes:
$db = mysql_select_db( "metalobil" ) ;
//requÍte SQL:
$sql = "SELECT nom, titre, texte, icone
FROM cat, doss
WHERE cat.id_cat = doss.id_cat
ORDER BY nom" ;
//exÈcution de la requÍte:
$requete = mysql_query( $sql, $cnx ) ;
//affichage des donnÈes:
while( $result = mysql_fetch_object( $requete ) )
{
echo("<div id=\"nav\">\n") ;
echo("<ul class=\"level1\">\n") ;
echo("<li class=\"submenu\">".$result->nom."\n") ;
echo("<ul class=\"level2\">\n") ;
echo("<li class=\"submenu\">".$result->titre."</li>\n") ;
echo("</ul>\n") ;
echo("</li>\n") ;
echo("</ul>\n") ;
}
?> |
mais il me répète le premier niveau pour chaque second niveaux.
Voici le code html qu'il génère à la sortie :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
<ul class="level1">
<li class="submenu">Architecture
<ul class="level2">
<li class="submenu">Arbre</li>
</ul>
</li>
</ul>
<div id="nav">
<ul class="level1">
<li class="submenu">Architecture
<ul class="level2">
<li class="submenu">avant4</li>
</ul>
</li>
</ul>
<div id="nav">
<ul class="level1">
<li class="submenu">Mobilier
<ul class="level2">
<li class="submenu">fffff</li>
</ul>
</li>
</ul>
<div id="nav">
<ul class="level1">
<li class="submenu">Mobilier
<ul class="level2">
<li class="submenu">rrrr</li>
</ul> |
Je sais que le problème est dans l'écriture de la boucle, mais je ne maitrise pas vraiment le truc... ci quelqu'un peut m'expliquer?