Bonjour à tous et à toutes.
J'aimerais faire un menu horizontal avec des foreach alimentés par une bdd.
C'est les sous onglets qui me pose problèmes car je ne sais pas comment faire pour que les balises <ul> et </ul> soit pris en compte qu’une seul fois.
Voici le contenu du array $onglet
Celui du array sous_ongletArray ( [accueil] => Accueil [page_contact] => Contact [rubrique_1] => Rubrique 1 [test] => test [test-1] => test 1 [test-2] => test 2 [fenetres] => Fenêtres )
Voici mon code.Array (
[accueil] => Array (
[0] => Array ( [nom_onglet] => Accueil [lien_onglet] => accueil [cor_lien_menu] => accueil [nom_s_ong] => Accueil bis [lien_s_ong] => accueil_bis )
[1] => Array ( [nom_onglet] => Accueil [lien_onglet] => accueil [cor_lien_menu] => accueil [nom_s_ong] => Accueil Bis 2 [lien_s_ong] => accueil_bis_2 ) )
[page_contact] => Array (
[0] => Array ( [nom_onglet] => Contact [lien_onglet] => page_contact [cor_lien_menu] => [nom_s_ong] => [lien_s_ong] => ) )
[rubrique_1] => Array (
[0] => Array ( [nom_onglet] => Rubrique 1 [lien_onglet] => rubrique_1 [cor_lien_menu] => rubrique_1 [nom_s_ong] => Sous onglet rubrique [lien_s_ong] => sous_onglet_rubrique ) )
[test] => Array (
[0] => Array ( [nom_onglet] => test [lien_onglet] => test [cor_lien_menu] => [nom_s_ong] => [lien_s_ong] => ) )
[test-1] => Array (
[0] => Array ( [nom_onglet] => test 1 [lien_onglet] => test-1 [cor_lien_menu] => [nom_s_ong] => [lien_s_ong] => ) )
[test-2] => Array (
[0] => Array ( [nom_onglet] => test 2 [lien_onglet] => test-2 [cor_lien_menu] => [nom_s_ong] => [lien_s_ong] => ) )
[fenetres] => Array ( [0] => Array ( [nom_onglet] => Fenêtres [lien_onglet] => fenetres [cor_lien_menu] => [nom_s_ong] => [lien_s_ong] => ) ) )
Merci de votre aide.
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 $req_menu_hor = $bdd->prepare("SELECT nom_onglet, lien_onglet, cor_lien_menu, nom_s_ong, lien_s_ong FROM menu LEFT JOIN sous_menu ON menu.lien_onglet = sous_menu.cor_lien_menu WHERE auth_view <= :auth_view_level"); $req_menu_hor->bindValue('auth_view_level', $level, PDO::PARAM_INT); $req_menu_hor->execute(); $onglet = array(); // déclare le tableau $sous_onglet = array(); while ($res_menu_hor = $req_menu_hor->fetch()) { $onglet[$res_menu_hor['lien_onglet']] = $res_menu_hor['nom_onglet']; // alimente le tableau $sous_onglet[$res_menu_hor['lien_onglet']][] = $res_menu_hor; } $req_menu_hor->closeCursor(); //print_r ($onglet); //print_r ($rubrique); echo"<div id='cssmenu'><ul>"; $dernier_onglet = end($onglet); foreach ($onglet as $key => $values) { echo '<li class="has-sub';if(urlencode($key) == $page) {echo' active';} if ($key === $dernier_onglet) {echo' last';}echo'">'; echo'<a href="'.ROOTPATH.'/index.php?page='.urlencode($key).'"><span>'.stripslashes($values).''; echo'</span></a>'; echo'</li>'; } echo"</ul></div>";
Partager