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 :
[/list:u:d1ecf3c415]
- cat1
[list:d1ecf3c415]doss1.1
doss1.2
doss1.3
[/list:u:d1ecf3c415]
- cat2
[list:d1ecf3c415]doss2.1
doss2.2
doss2.3
J'ai écrit le script suivant :
mais il me répète le premier niveau pour chaque second niveaux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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") ; } ?>
Voici le code html qu'il génère à la sortie :
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?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Partager