8791 sujets

Développement web côté serveur, CMS

Bonjour à tous!
Dans le cadre de la création d'un petit site, je voudrais afficher un menu accordéon (avec donc des sous menus) à l'aide d'une boucle while afin que le rendu soit comme sur cette photo: http://hpics.li/470d4e9

Voici le code html de ce menu:
<div id="accordion">
<h3>Bijoux fantaisie</h3>
<div>
<p><a href="">Tous les produits It Bijoux</a></p>
<p><a href="">Tous les produits bijoux fantaisie</a></p>
<p><a href="">Nouveautés bijoux fantaisie</a></p>
<p><a href="">Promotions bijoux fantaisie</a></p>
<p><a href="">Boucles d\'oreilles bijoux fantaisie</a></p>
<p><a href="">Bagues bijoux fantaisie</a></p>
<p><a href="">Bracelets bijoux fantaisie</a></p>
<p><a href="">Colliers bijoux fantaisie</a></p>
<p><a href="">Noir et blanc bijoux fantaisie</a></p>
<p><a href="">Couleurs bijoux fantaisie</a></p>
</div>
<h3>Bijoux argent</h3>
<div>
<p><a href="">Tous les produits It bijoux</a></p>
<p><a href="">Tous les produits bijoux argent</a></p>
<p><a href="">Nouveautés bijoux argent</a></p>
<p><a href="">Promotions bijoux argent</a></p>
<p><a href="">Boucles d\'oreilles bijoux argent</a></p>
<p><a href="">Bagues bijoux argent</a></p>
<p><a href="">Bracelets bijoux argent</a></p>
<p><a href="">Colliers bijoux argent</a></p>
<p><a href="">Noir et blanc bijoux argent</a></p>
<p><a href="">Couleurs bijoux argent</a></p>
</div>
<h3>Accessoires mode</h3>
<div>
<p><a href="">Tous les produits It bijoux</a></p>
<p><a href="">Tous les accessoires mode</a></p>
<p><a href="">Nouveautés accessoires mode</a></p>
<p><a href="">Promotions accessoires mode</a></p>
<p><a href="">Boucles d\'oreilles accessoires mode</a></p>
<p><a href="">Bagues accessoires mode</a></p>
<p><a href="">Bracelets accessoires mode</a></p>
<p><a href="">Colliers accessoires mode</a></p>
<p><a href="">Noir et blanc accessoires mode</a></p>
<p><a href="">Couleurs accessoires mode</a></p>
</div>
<h3>Créateurs</h3>
<div>
<p><a href="">Tous les créateurs</a></p>
</div>
</div>


J'ai donc créé dans ma base de données 2 tables: t_menu (pour les catégories) et t_sousmenu (pour les sous catégories).
Photos ci-joint: http://hpics.li/643a436
http://hpics.li/f442850

Je parviens à afficher les catégories à l'aide de ce code mais je ne parviens pas à faire une seconde boucle dans la boucle pour qu'elle affiche les sous-catégories correspondantes aux catégories (si sousCategorieId = 1 > Bijoux fantaisie, si 2 > Bijoux argent, etc...):
echo '<div id="accordion">';
 
  $query = "SELECT *
            FROM t_menu
            WHERE afficheCategorie = 1
            ORDER BY ordreCategorie";
  $result = mysql_query($query);
             
  while ($row = mysql_fetch_array($result)){
    echo '<h3>'.$row['lienCategorie'].'</h3>
          <div></div>';  
  }
  echo'</div>';


Pouvez-vous, s'il vous plait, m'éclairer car j'avoue que je suis perdue! Merci d'avance!
Bonjour,

Si tu veux faire cela en une seul requête, il faut que tu fasse une jointure entre tes 2 tables tsousmenu et tmenu. Le tous trié par ordreCategorie et par ordreSousCategorie.

Ensuite dans ta boucle while dès que tu détecte une nouvelle catégorie tu l'affiche.