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) :
Donc si une âme charitable pouvait me remettre dans le droit chemin
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>';je lui serais très reconnaisant. Merci
Partager