Bonjour à tous et à toutes.
J'aurai besoins de votre aide pour afficher le nom des onglets qui sont dans trois tables de ma bdd.
J'ai fait une requête avec des left joint pour réunir les trois tables et des array pour l'affichage mais je me perd dans les foreach.
Voici mon code
Voici ce que donne le print_r($onglet_niv3_pl)
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 $onglet_pl = array(); // déclaration des tableaux $onglet_niv2_pl = array(); $onglet_niv3_pl = array(); $req_menu_hor_pl = $bdd->prepare("SELECT nom_onglet, lien_onglet, cor_lien_menu, nom_s_ong, lien_s_ong, auth_view_s, nom_s_ong_s, lien_s_ong_s, auth_view_s_s FROM menu LEFT JOIN sous_menu ON menu.lien_onglet = sous_menu.cor_lien_menu LEFT JOIN sous_sous_menu ON sous_menu.lien_s_ong = sous_sous_menu.cor_lien_menu_s WHERE auth_view <= :auth ORDER BY ordre_aff, ordre_s_ong, ordre_s_ong_s ASC"); $req_menu_hor_pl->bindValue('auth', $level, PDO::PARAM_INT); $req_menu_hor_pl->execute(); while ($res_menu_hor_pl = $req_menu_hor_pl->fetch()) { $onglet_pl[$res_menu_hor_pl['nom_onglet']] = $res_menu_hor_pl['lien_onglet']; // alimente le tableau $onglet_niv2_pl[$res_menu_hor_pl['nom_onglet']][] = $res_menu_hor_pl; $onglet_niv3_pl[$res_menu_hor_pl['nom_onglet']][][] = $res_menu_hor_pl; } echo"<ul>Menu Principal (Horizontal en haut de l'écran)"; foreach($onglet_niv3_pl as $cle3_pl => $values3_pl) { echo '<li>'; echo'<a href="'.ROOTPATH.'/'.urlencode($onglet_pl[$cle3_pl]).'.html" title="accédez a la page '.stripslashes($cle3_pl).'"><span>'.stripslashes($cle3_pl).''; foreach ($values3_pl as $cle2_pl => $values2_pl) { if( $onglet_niv2_pl[$cle2_pl] != '') { echo'<ul>'; echo '<li>'; echo'<a href="'.ROOTPATH.'/'.urlencode($onglet_niv2_pl['lien_s_ong']).'.html" title="accédez a la page '.stripslashes($onglet_niv2_pl['nom_s_ong']).'"> <span>'.stripslashes($onglet_niv2_pl[$cle2_pl]).''; foreach($values2_pl as $cle_pl => $values_pl) { if( $values_pl['nom_s_ong'] != '') { echo'<ul>'; $auth_necessaire =''.$values_pl['auth_view_s'].''; if (!verif_auth($auth_necessaire)) { echo '<li><a href="'.ROOTPATH.'/'.urlencode($values_pl['lien_s_ong']).'.html" title="accédez a la page '.stripslashes($values_pl['nom_s_ong']).'">'.stripslashes($values_pl['nom_s_ong']).'</a>'; echo '</li>'; } echo'</ul>'; } } echo'</ul>'; } echo'</span></a>'; echo'</li>'; } echo'</span></a>'; echo'</li>'; } echo"</ul>"; $req_menu_hor_pl->closeCursor(); echo '<pre>'; print_r($onglet_niv3_pl); echo '</pre>'; ?>
Je voudrais que ça s'affiche comme suit mais je n'y arrive pas.
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189 Array ( [Vie de la Copro] => Array ( [0] => Array ( [0] => Array ( [nom_onglet] => Vie de la Copro [lien_onglet] => vie-de-la-copro [cor_lien_menu] => vie-de-la-copro [nom_s_ong] => Actualités [lien_s_ong] => actualites [auth_view_s] => 0 [nom_s_ong_s] => [lien_s_ong_s] => [auth_view_s_s] => ) ) [1] => Array ( [0] => Array ( [nom_onglet] => Vie de la Copro [lien_onglet] => vie-de-la-copro [cor_lien_menu] => vie-de-la-copro [nom_s_ong] => Travaux [lien_s_ong] => travaux [auth_view_s] => 1 [nom_s_ong_s] => [lien_s_ong_s] => [auth_view_s_s] => ) ) [2] => Array ( [0] => Array ( [nom_onglet] => Vie de la Copro [lien_onglet] => vie-de-la-copro [cor_lien_menu] => vie-de-la-copro [nom_s_ong] => Questions / Réponses [lien_s_ong] => questions-reponses [auth_view_s] => 1 [nom_s_ong_s] => [lien_s_ong_s] => [auth_view_s_s] => ) ) [3] => Array ( [0] => Array ( [nom_onglet] => Vie de la Copro [lien_onglet] => vie-de-la-copro [cor_lien_menu] => vie-de-la-copro [nom_s_ong] => Petites Annonces [lien_s_ong] => petites-annonces [auth_view_s] => 0 [nom_s_ong_s] => [lien_s_ong_s] => [auth_view_s_s] => ) ) ) [Documents] => Array ( [0] => Array ( [0] => Array ( [nom_onglet] => Documents [lien_onglet] => documents [cor_lien_menu] => documents [nom_s_ong] => Rôles ASL / Conseil Syndical / Sundic [lien_s_ong] => roles-asl-conseil-syndical-sundic [auth_view_s] => 0 [nom_s_ong_s] => [lien_s_ong_s] => [auth_view_s_s] => ) ) [1] => Array ( [0] => Array ( [nom_onglet] => Documents [lien_onglet] => documents [cor_lien_menu] => documents [nom_s_ong] => Règlements [lien_s_ong] => reglements [auth_view_s] => 1 [nom_s_ong_s] => Réglement de copropriété générale [lien_s_ong_s] => reglement-de-copropriete-generale [auth_view_s_s] => 0 ) ) [2] => Array ( [0] => Array ( [nom_onglet] => Documents [lien_onglet] => documents [cor_lien_menu] => documents [nom_s_ong] => Règlements [lien_s_ong] => reglements [auth_view_s] => 1 [nom_s_ong_s] => Réglement de copropriété particulier [lien_s_ong_s] => reglement-de-copropriete-particulier [auth_view_s_s] => 0 ) ) [3] => Array ( [0] => Array ( [nom_onglet] => Documents [lien_onglet] => documents [cor_lien_menu] => documents [nom_s_ong] => Plans [lien_s_ong] => plans [auth_view_s] => 1 [nom_s_ong_s] => [lien_s_ong_s] => [auth_view_s_s] => ) ) ) [Sécurité] => Array ( [0] => Array ( [0] => Array ( [nom_onglet] => Sécurité [lien_onglet] => securite [cor_lien_menu] => [nom_s_ong] => [lien_s_ong] => [auth_view_s] => [nom_s_ong_s] => [lien_s_ong_s] => [auth_view_s_s] => ) ) ) [Contacts] => Array ( [0] => Array ( [0] => Array ( [nom_onglet] => Contacts [lien_onglet] => contact [cor_lien_menu] => [nom_s_ong] => [lien_s_ong] => [auth_view_s] => [nom_s_ong_s] => [lien_s_ong_s] => [auth_view_s_s] => ) ) ) )
Vie de la Copro ONGLET NIVEAU 1
- Actualités ONGLET NIVEAU 2 QUI APPARTIENT A Vie de la Copro
- Travaux ONGLET NIVEAU 2 QUI APPARTIENT A Vie de la Copro
- Questions / Réponses ONGLET NIVEAU 2 QUI APPARTIENT A Vie de la Copro
- Petites Annonces ONGLET NIVEAU 2 QUI APPARTIENT A Vie de la Copro
Documents ONGLET NIVEAU 1
- Rôles ASL / Conseil Syndical / Sundic ONGLET NIVEAU 2 QUI APPARTIENT A Documents
- Règlements ONGLET NIVEAU 2 QUI APPARTIENT A Documents
- Règlement de copropriété générale ONGLET NIVEAU 3 QUI APPARTIENT A ONGLET NIVEAU 2 Règlements QUI APPARTIENT A Document
- Règlement de copropriété particulier ONGLET NIVEAU 3 QUI APPARTIENT A ONGLET NIVEAU 2 Règlements QUI APPARTIENT A Documents
- Plans ONGLET NIVEAU 2 QUI APPARTIENT A Documents
Sécurité ONGLET NIVEAU 1
Contacts ONGLET NIVEAU 1
Est-ce que quelqu'un peux m'aider à faire ça ? plus je touche moins ça fonctionne.
Merci d'avance aux bonnes volontés
Partager