Bonjour, je n'arrive pas à afficher dans la barre de menu mes catégories et sous-catégories.
Ma table catégories est de la forme suivante:
id id_parent nom_fr nom_en ina=_form 1 0 Accueil ... 0 ... 2 0 Immobilier ... 1 201 2 Vente de Maisons ... 1 202 2 Location de Maisons ... 1 203 2 Vente d Appartements ... 1 204 2 Location d Appartements ... 1 205 2 Bureaux ... 1 206 2 Terrains ... 1 ... 3 0 Véhicules ... 1 301 3 Voitures ... 1 301 3 Motos ... 1 302 3 Accessoires ... 1 ... 4 0 Multimedia ... 1 401 4 Téléphones ... 1 402 4 Télévisions ... 1 ... 5 0 ... ... 1 ... 9 0 Contact 0
La fonction getMenu:
Et le code pour le menu:
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 function getMenu( $id_parent=0 ) { global $bdd; $sql_lang = (!empty(($_SESSION['lang']) && in_array($_SESSION['lang'], ['fr','en','es']) ))? $_SESSION['lang'] : 'fr'; // on s'assure que la langue est correcte $sql = "SELECT id, id_parent, nom_".$sql_lang." AS nom FROM categories WHERE id_parent = :id_parent ORDER BY id "; try{ $req = $bdd->prepare($sql); $req->execute( array(':id_parent'=>$id_parent) ); $res = $req->fetchAll(PDO::FETCH_ASSOC); }catch(Exception $e){ echo "Erreur dans la requête " . $sql; $res = false; } return $res; }
Si vous pouvez m'apporter une aide, merci
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 <nav> <label for="menu-mobile" class="menu-mobile">Menu</label> <input type="checkbox" id="menu-mobile" role="button"> <?php // 1- on récupère les menus principaaux $menus = getMenu( 0 ); foreach($menus as $M) { // 2- on récupère les sous-menu de CE menu $sous_menu = getMenu( $M['id'] ); // Si il n'y a pas de sous-menus if( empty($sous_menu) ) { echo " <li> <a href= "affichage.php?id_catégorie="> ".$M['nom']."</a></li>"; } // Sinon (il y a des sous-menus) else { echo " <ul ><a href= "affichage.php?id_catégorie=">'".$M['nom']."' </a></ul>"; // 3 - affichage des sous-menus foreach($sous_menu as $SM) { echo " <li> <a href= "affichage.php?id_catégorie="> ".$SM['nom']."</a></li>"; } echo " </ul>"; } } ?>![]()
Partager