nicobillou Posté 22 Février 2008 Posté 22 Février 2008 (modifié) Bonjour, Je ne suis pas un crack de PHP et je suis devant un problèmes dont je ne trouve la solution; Je m'explique : J'ai deux tables, une catégorie, l'autre sous catégorie. Je souhaiterais afficher celles ci en arborescence : Catégorie 1 Sous catégorie 1 Sous catégorie 2 Catégorie 2 ... Ces deux tables sont bien reliées entre elles via id_catégorie tbl_Catégorie tbl_souscatégorie ---------------- ---------------- ---- id_catégorie__ id_souscategorie titre \-------id_catégorie titre_souscategorie (le MCD passe trés mal sur ce forum ) Donc je fait ma requête en jointure et comme je pensait ça s'affiche comme cela: catégorie 1 souscategorie1 catégorie1 souscategorie2 Dois je faire un code en php pour pouvoir retrouver des données classées ainsi : Catégorie 1 Sous catégorie 1 Sous catégorie 2 Catégorie 2 Ou travailler ma requête SQL ? Pouvez vous m'indiquer comment procéder ? MeRcI ! Modifié 22 Février 2008 par nicobillou
Portekoi Posté 22 Février 2008 Posté 22 Février 2008 Bonjour, Dans ta boucle, récupère le titre du père. Si ce dernier est différent de celui de la requête, tu l'affiches, sinon, tu affiches le filston
nicobillou Posté 22 Février 2008 Auteur Posté 22 Février 2008 heu merci de ta réponse mais on procede comment ?
aspeum Posté 22 Février 2008 Posté 22 Février 2008 (modifié) Je ne suis pas sûr d'avoir compris comment étaient organisées tes tables, mais si il y a un id_categorie dans sous_categorie, voilà (en gros) ce que tu pourrais faire... Je n'ai pas testé, donc je ne suis pas sûr que ça marche, mais l'idée est là... $sql="SELECT nom_categorie, nom_sous_categorie FROM categorie, sous_categorie WHERE categorie.id_categorie=sous_categorie.id_categorie";$requete=mysql_query($sql);for ($i=0;$i<mysql_num_rows($requete);$i++){ if ($i==0) { echo mysql_result($requete, $i, nom_categorie)."<br>"; } else { if (mysql_result($requete, $i, nom_categorie)!=mysql_result($requete, ($i-1), nom_categorie)) { echo mysql_result($requete, $i, nom_categorie)."<br>"; } } echo mysql_result($requete, $i, nom_sous_categorie)."<br>";} Sinon, tu peux aussi faire deux boucles imbriquées. Dans la première, tu fais défiler les catégories. Dans la seconde, à l'intérieur de la première, tu fais défiler les sous-catégories. Modifié 22 Février 2008 par aspeum
nicobillou Posté 22 Février 2008 Auteur Posté 22 Février 2008 Merci de ta réponse claire et rapide je vais tester tout ça ! Cdt
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant