Bonjour à tous les zéros !
Je développe actuellement un site en utilisant le moteur de templates smarty
Mon problème viens du menu principale.
J'ai dans une base de donnés tous les titres de chaque menus et sous-menus.
Je souhaite avec des templates afficher le menu de cette façon :
Le problème est que je ne connais pas à l'avance le nombre de niveau qu'il peut y avoir.
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 <ul> <li>menu1 <ul> <li>sous-menu1</li> <li>sous-menu2 <ul> <li>sous-menu1</li> <li>sous-menu2</li> </ul> </li> </ul> </li> <li>menu2 <ul> <li>sous-menu1</li> <li>sous-menu2</li> </ul> </li> </ul>
Voici le code php pour récupérer le menu :
Merci d'avance pour vous réponse.
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 function sous_menu($menu_pere,$oSmarty) { $retour_sous_menu = mysql_query('SELECT * FROM menu WHERE id_menu_pere='.$menu_pere['id_menu'].' ORDER BY ordre_menu'); while($donnee_sous_menu = mysql_fetch_array($retour_sous_menu)) { $oSmarty->append('sous_menu', $donnee_sous_menu); if($donnee_sous_menu['nb_sous_menu']!=0) sous_menu($donnee_sous_menu); } } $retour_menu_princ = mysql_query('SELECT * FROM menu WHERE id_menu_pere=0 ORDER BY ordre_menu'); while($donnee_menu_princ = mysql_fetch_array($retour_menu_princ)) { $oSmarty->append('donnee_menu', $donnee_menu_princ); if($donnee_menu_princ['nb_sous_menu']!=0) { sous_menu($donnee_menu_princ,$oSmarty); } } $oSmarty->display('menu.tpl');
Droup
Partager