Posté(e) le 11 mai 200718 a Bonsoir, Je rencontre un soucis concernant un problème de logique de programmation (M@t va se moquer de moi sur ce coup là ). Je dispose, dans une table SQL de menus, chaque ligne=un menu. Les champs essentiels sont l'id du menu et le parent_id du menu. Si le parent_id=0, alors c'est un menu de premier niveau, sinon, c'est un sous-menu du menu parent_id, jusque là vous suivez ? Bon Ok, alors petit exemple : id parent_id name 1 0 menu_1 2 0 menu_2 3 1 menu_3 4 2 menu_4 5 4 menu_5 Dans ce cas, le menu devrait s'afficher de la manière suivante: menu_1 - menu_3 menu_2 - menu_4 - - menu_5 C'est plus clair comme ça ? Donc mon problème c'est que je ne trouve pas de logique de programmation pour passer de la base vers l'affichage, ça parait bête comme ça, mais il faut croire que je le suis Alors si votre bon coeur pouvait me donner un coup de pouce ça me ferait vraiment plaisir. Amicalement, Nico
Posté(e) le 12 mai 200718 a Il te faut faire une petite fonction récursive toute simple, plus d'info ici.
Posté(e) le 12 mai 200718 a Tu peux faire une fonction récursive qui prend en argument un id, et un nombre d'indentation. La fonction devra afficher l'id avec une certaine indentation puis pour chacun des enfant, s'appeler elle même en augmentant l'indentation.
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.