Une boucle au peut spécifique

cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011 - 13 févr. 2007 à 19:50
cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011 - 14 févr. 2007 à 09:29
Bonjour,
je tente désespérément de généré dynamiquement un menu vertical.
Je possède un bd avec 3 tables faite de la manière suivante








Table MENU
+----------+---------+
+  id_menu +   menu   +
+----------+---------+
   1           +   Sortie
   2           +   Infos   
   3           +   Articles
+----------+---------+

Table SOUS_MENU
+------------+---------+
+  id_s_menu +  s_menu +
+------------+---------+
   1              +   Raquette
   2              +   Rando   
   3              +   rafting
   4              +   Inscription
+------------+---------+

Table ARTICLE
+----------+--------------+---------+-----------+
+  id          +   article         +   menu  +   s_menu   +
+----------+--------------+---------+-----------+
   1           +   raquette     +      3    +        1        +
   2           +   rando         +      1    +        2        +
   3           +   inscription   +      2    +        4        +
   4           +   rando         +      3    +        2        +
+----------+-------------+---------+------------+

Puis j'ai fait ma requette SQL :

SELECT *
FROM article
INNER JOIN menu ON article.menu=menu.id_menu
INNER JOIN sous_menu ON article.s_menu=sous_menu.id_s_menu

Le probleme maintenant est que si je fait une simple boucle sur le MENU et SOUS_MENU  il affiche les uns en dessous des autres le MENU ET LE SOUS_MENU.
Alors que se que je cherche à faire c'est de lister tout les sous menu du premier menu puis du second ...

Si que c'est coder sa, un coup de pouce serait le bien venu.

Merci

2 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
13 févr. 2007 à 23:08
hello,

SELECT mesChamps
FROM article a
INNER JOIN menu m ON a.menu=m.id_menu
INNER JOIN sous_menu sm ON a.s_menu=sm.id_s_menu
ORDER BY m.id_menu, sm.id_s_menu
0
cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011
14 févr. 2007 à 09:29
En réalité je me suis mal expliqué. Le pb ne vient pas de la requet mais du code php.
J'ai fait bétement une boucle croyant que le listage serait du typ :

Menu1
 - S_menu_1 (du menu 1)
 - S_menu_2 (du menu 1)
Menu2
 - S_menu_1 (du menu 2)
 - S_menu_2 (du menu 2)
 - S_menu_3 (du menu 2)

Voici mon code :
<?php
// on fait une boucle
 do {
 echo ''.$row_menu['menu'].'
';
 echo ''.$row_menu['s_menu'].'
';
  } while ($row_menu = mysql_fetch_assoc($menu));
?>

Le listage qu'il génére est du type
Menu1
 - S_menu_1 (du menu 1)
Menu1
 - S_menu_2 (du menu 1)
Menu2
 - S_menu_1 (du menu 2)
Menu2
 - S_menu_2 (du menu 2)
Menu2
 - S_menu_3 (du menu 2)

Donc c'est pas bon comme résultat
0
Rejoignez-nous