Arborescence de catégories php/mysql
Bonjour, je souhaite créer une arborescence de catégorie :
J'ai une table 'categorie' (cid, nom, pere)
et je souhaite que l'arborescence soit présentée comme ceci:
# Guitares
--# Acoustiques
----# Classiques
--# Electrique
# Cuivres
# Percussions
# Sono - Mix
# Home - Studio
J'arrive bien à lister tous les pères, leurs frères mais je n'arrive pas à faire en sorte qu'un fils soit dessous du bon père :
voilà ou je suis bloqué :
# Guitares
# Cuivres
# Percussions
# Sono - Mix
# Home - Studio
--# Acoustiques
--# Electrique
----# Classiques
voilà mon script ( $cid est une varible de GET qui indique la catégorie courante) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
$sql ='SELECT * FROM categorie WHERE cid="'.$cid.'"';
$sql = mysql_query($sql) or die(show_mysql_error());
$row = mysql_fetch_array($sql);
while( $row['pere'] != null )
{
$sql ='SELECT * FROM categorie WHERE cid="'.$row['pere'].'"';
$sql = mysql_query($sql) or die(show_mysql_error());
$row = mysql_fetch_array($sql);
$arbre[] = array('cid' => $row['cid'], 'nom' => $row['nom'], 'pere' => $row['pere'] );
}
$arbre = array_reverse($arbre, TRUE);
$n= 0;
echo '<ul>';
foreach( $arbre as $key => $value)
{
$sql ='SELECT * FROM categorie WHERE pere="'.$arbre[$key]['pere'].'"';
$sql = mysql_query($sql) or die(show_mysql_error());
while( $row = mysql_fetch_array($sql) )
{
echo '<li style=" margin-left: '. 10*$n .'">'.$row['nom'].'</li>';
}
$n++;
}
echo '</ul>'; |
Donc si une âme charitable pouvait me remettre dans le droit chemin :) je lui serais très reconnaisant. Merci