[PHP/MySql] Menu dynamique à trois niveaux

Fermé
jonfever Messages postés 12 Date d'inscription lundi 1 octobre 2012 Statut Membre Dernière intervention 1 octobre 2012 - 1 oct. 2012 à 10:54
 Profil bloqué - 1 oct. 2012 à 22:59
Bonjour,

Je suis un débutant en ce qui concerne la programmation de sites web à l'aide de PHP/MySql, mais j'ai quand même quelques années d'expérience et j'ai déjà pu créer des sites avec console d'administration et tout.

Je bosse actuellement sur un mandat, tout se passait bien jusque quand j'appris que mon patron désire un menu dynamique (alors que j'avais déjà tout prévu pour qu'il soit fixe, bref, je recommence tout!).

Voici à quoi le menu ressemblerait :

[Menu1]
- -[Page1]
- -[Page2]
- -[Menu1.1]
- - - -[Page3]
- - - -[Page 4]
- - - -[Menu 1.1.1]
- - - - - -[Page 5]
- - - - - -[Page 6]

J'ai déjà défini le style css pour que mon menu soit déroulant. En ce qui concerne le HTML, je place le tout dans une liste, jusqu'alors faite à la main.

Pour ce système, un maximum de trois niveaux est autorisé. Mon problème, c'est que je n'ai jamais fais ça et je ne m'en sors pas avec la base de donnée ! J'ai pensé que la meilleure solution serait d'effectuer un auto-jointure sur une table "menus", qui contiendrait entre autre une clé étrangère qui pointerait sur l'ID du menu parent.

Mon autre soucis, c'est comment faire apparaître mon menu, correctement listé avec du PHP ? A savoir qu'un menu, contient d'autres menus ainsi que des pages qui se trouvent dans une autre table.

J'utilise des while pour faire apparaître le résultat de mes requêtes SQL, est-ce possible avec ceux-ci pour faire ce que je veux ?

Merci d'avance pour vos réponses !!

1 réponse

Profil bloqué
1 oct. 2012 à 22:59
Bonjour,

peux-tu nous préciser quelques petites choses :
l'intitulé de tes menu est stocké en BDD ?

Pourquoi ne pas utilisé le for (plutot que le while)...

exemple :
<?php for ($i=0; $i<=3;$i++); ?>


en gros sa rajouterai seul une condition : tant que ton menu n'a pas atteint 3, alors il peux accueillir d'autre niveau...au delà, sa bloque.

Comment se présentera ton menu ? (menu déroulant, fixe, ton menu se complétera dynamiquement en fonction de ce que l'utilisateur choisi etc ?

peut tu nous mettre ton début de code ?

Bon courage en tout cas !
0