Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1801 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Menu arborescent

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Menu arborescent

n°992158
huggy
Posté le 24-02-2005 à 11:22:16  profilanswer
 

Bonjour à tous !
 
Voilà, je cherche à créer un script de menu arborescent multi-niveaux en PHP (couplé à une base de données mySQL)
 
Ma table "rayons"  est sous la forme:
 
id  => int(11)               >>>> id du rayon
rayon => text              >>>> nom du rayon
id_parent => int(11)     >>>> id du rayon "parent"
 
Mon script actuel:
 

Code :
  1. $qry = mysql_query("SELECT * FROM rayons" );
  2. while ($ob = mysql_fetch_array($qry)) $idr[] = $ob[id_parent];
  3. arbo (min($idr),$_GET["niveau"]);
  4. function arbo($niveau,$nivDev)
  5. {
  6. $qry = mysql_query("SELECT * FROM rayons WHERE id_parent='$niveau' ORDER BY rayon" );
  7. while ($ob = mysql_fetch_array($qry))
  8. {
  9.  echo "<a href=$PHP_SELF?niveau=$ob[id]>+</a> $ob[rayon]<br>";
  10.  if ($ob[id] == $nivDev) arbo($ob[id],$nivDev);
  11. }
  12. }


 
Sous cette forme il ne fonctionne que pour 1 niveau.
 
Si je fais:
 

Code :
  1. $qry = mysql_query("SELECT * FROM rayons" );
  2. while ($ob = mysql_fetch_array($qry)) $idr[] = $ob[id_parent];
  3. if (!$_GET["niveau"]) $niveau = min($idr); else $niveau = $_GET["niveau"];
  4. arbo ($niveau);
  5. function arbo($niveau)
  6. {
  7. $qry = mysql_query("SELECT * FROM rayons WHERE id_parent='$niveau' ORDER BY rayon" );
  8. while ($ob = mysql_fetch_array($qry))
  9. {
  10.  echo "<a href=$PHP_SELF?niveau=$ob[id]>+</a> $blanc $ob[rayon]<br>";
  11. }
  12. }


 
Je peux le faire fonctionner en multi-niveau, mais je n'ai pas l'aborescence du menu...
 
Pouvez vous m'aider ? ça fait deux jours que me butte là-dessus ...
 
Merci !


Message édité par huggy le 24-02-2005 à 11:48:32
mood
Publicité
Posté le 24-02-2005 à 11:22:16  profilanswer
 

n°993691
FlorentG
Unité de Masse
Posté le 25-02-2005 à 16:42:15  profilanswer
 

Il faut une fonction récursive... mais y'a un truc louche dans ta première implémentation, avec la variable $niv_dev :heink: Normalement faudrait passer en paramètre le parent, non ?

n°994258
Elghinn42
Posté le 26-02-2005 à 16:39:25  profilanswer
 

Je sais que je ne répond pas à la question, mais j'aimerai savoir à quoi cela sert-il de faire un "Select *" lorsque tu n'as pas besoin de tous les champs de la table?


---------------
"le logiciel libre est une question de liberté, pas de prix" - Richard M. Stallman - (http://www.gnu.org/philosophy/why-free.fr.html)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Menu arborescent

 

Sujets relatifs
afficher une combo dans un popup menuFaire remonter un menu dynamique vertical
Menu déroulant au passage de la sourisOuverture d'un site dans fenêtre sans bouton ni menu ?
Connaitre l'indice de l'item cliqué dans un jpopup menu [résolu]Menu déroulant style vossey !!
menu déroulant vers iframemenu fixe en haut
[XML] Génerer dynamiquement un menu arborescent a partir d'un .XML ?Images et couleurs dans mon menu arborescent.
Plus de sujets relatifs à : Menu arborescent


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR