Bonjour,
J'ai perdu mes notions de récursivité appris en cours (il faut dire que ça fait 20 ans).
Voici mon code. Il affiche un menu et ses sous-menus.
Pour le moment, affiche le menu (niveau 1) et un niveau de sous menu (niveau 2).
Je voudrais ajouter encore un sous-niveau (niveau 3) et pourquoi pas, autant qu'on voudrait (ça serait débile mais pourquoi pas).
Code php : 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
31
32
33 $Menu = new menu($GLOBALS['bdd']); foreach ($tab_droit as $UnDroit) { //echo "<br>Lecture avec les droits : $UnDroit<br>"; $List_Menu = $Menu -> selectMenuByDroit($UnDroit, 0); foreach ($List_Menu as $Elm) { $List_Ss_Menu = $Menu -> selectMenuByParent($Elm['idMenu']); if (count($List_Ss_Menu) > 0) { $i = 1; echo "<li class='has-sub'><a href='#'><span>" . $Elm['Lib_Page'] ."</span></a>"; echo "<ul>"; foreach ($List_Ss_Menu as $Ss_Elm) { if ($i == count($List_Ss_Menu)) { // dernier élément du sous-menu echo "<li class='last'><a href='index.php?page=" . $Ss_Elm['page'] . "'><span>" . $Ss_Elm['Lib_Page'] ."</span></a></li>"; } else { echo " <li><a href='index.php?page=" . $Ss_Elm['page'] ."'><span>" . $Ss_Elm['Lib_Page'] ."</span></a></li> "; } $i++; } echo "</ul></li>"; } else { // Il n'y a pas de sous-menu echo "<li class='active'><a href='index.php?page=" . $Elm['page'] ."'><span>" . $Elm['Lib_Page'] ."</span></a></li>"; } } }
je devrais pourvoir le faire avec de la récursivité, mais je pêche.
Merci pour votre aide.
Eddy
Partager