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 :
- $qry = mysql_query("SELECT * FROM rayons" );
- while ($ob = mysql_fetch_array($qry)) $idr[] = $ob[id_parent];
- arbo (min($idr),$_GET["niveau"]);
- function arbo($niveau,$nivDev)
- {
- $qry = mysql_query("SELECT * FROM rayons WHERE id_parent='$niveau' ORDER BY rayon" );
- while ($ob = mysql_fetch_array($qry))
- {
- echo "<a href=$PHP_SELF?niveau=$ob[id]>+</a> $ob[rayon]<br>";
- if ($ob[id] == $nivDev) arbo($ob[id],$nivDev);
- }
- }
|
Sous cette forme il ne fonctionne que pour 1 niveau.
Si je fais:
Code :
- $qry = mysql_query("SELECT * FROM rayons" );
- while ($ob = mysql_fetch_array($qry)) $idr[] = $ob[id_parent];
- if (!$_GET["niveau"]) $niveau = min($idr); else $niveau = $_GET["niveau"];
- arbo ($niveau);
- function arbo($niveau)
- {
- $qry = mysql_query("SELECT * FROM rayons WHERE id_parent='$niveau' ORDER BY rayon" );
- while ($ob = mysql_fetch_array($qry))
- {
- echo "<a href=$PHP_SELF?niveau=$ob[id]>+</a> $blanc $ob[rayon]<br>";
- }
- }
|
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