Bonjour,
J'essaye de faire un menu récursif.
J'ai suivi un tuto ou pour l'instant je veux juste faire apparaitre tout mes menus / sous menu associé.
Lorsque je balance mon echo, mon menu est vide...
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 <?php $query = "SELECT idfamille,libelle from famille order by libelle ASC"; $result = mysql_query($query); $query2 = "SELECT idfamille,idsous_famille,libelle FROM sous_famille order by libelle ASC"; $result2 = mysql_query($query2); $Menu_Ar = array(); while ($row = mysql_fetch_array($result)){ $Menu_Ar[] = array( 'idfamille_id' => $row['idfamille'], 'idsous_famille_id' => '0', 'libelle_id' => $row['libelle'], ); } while ($row = mysql_fetch_array($result2)){ $Menu_Ar[] = array( 'idfamille_id' => $row['idfamille'], 'idsous_famille_id' => $row['idsous_famille'], 'libelle_id' => $row['libelle'], ); } function afficher_menu($parent, $niveau, $array) { $html = ""; $niveau_precedent = 0; if (!$niveau && !$niveau_precedent) $html .= "\n<ul>\n"; foreach ($array AS $noeud) { if ($parent == $noeud['idfamille_id']) { if ($niveau_precedent < $niveau) $html .= "\n<ul>\n"; $html .= "<li>" . $noeud['libelle_id']; $niveau_precedent = $niveau; $html .= afficher_menu($noeud['idsous_famille_id'], ($niveau + 1), $array); } } if (($niveau_precedent == $niveau) && ($niveau_precedent != 0)) $html .= "</li></ul>\n\n"; else if ($niveau_precedent == $niveau) $html .= "</ul>\n"; else $html .= "\n"; return $html; } echo afficher_menu(0, 0, $Menu_Ar); ?>
suis sensé avoir une liste du style :
Sauf que j'ai rien.décoration
...Lampe
...Tableau
.peinture
...Pinceau
...Toile
...pot
.sol
...carrelage
...moquette
J'ai contrôlé mon array, il est bien rempli (j'ai pas tout listé c'est un extrait de mon array):
Pourquoi mon menu est vide ?
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
31
32
33
34
35
36
37
38
39
40
41
42 Array ( [0] => Array ( [idfamille_id] => 5 [idsous_famille_id] => 0 [libelle_id] => Décoration ) [1] => Array ( [idfamille_id] => 3 [idsous_famille_id] => 0 [libelle_id] => Murs ) [14] => Array ( [idfamille_id] => 2 [idsous_famille_id] => 128 [libelle_id] => Colle ) [15] => Array ( [idfamille_id] => 4 [idsous_famille_id] => F46 [libelle_id] => Collection caoutchouc ) [16] => Array ( [idfamille_id] => 2 [idsous_famille_id] => F14 [libelle_id] => Colles murales et decolle papi ) [17] => Array ( [idfamille_id] => 2 [idsous_famille_id] => F28 [libelle_id] => Colles sol )
J'ai loupé un truc je pense...
Le tuto que j'ai suivi : https://www.coinduwebmaster.com/menu...ursive-php/89/
Partager