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 : 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>';
Donc si une âme charitable pouvait me remettre dans le droit chemin je lui serais très reconnaisant. Merci