J'ai une formidable table MySQL. Dedans 3 champs :
- id
id_parent
toto_name
Je veux recréer cet arbre dans le genre :
-toto
|-toto1
-|-toto10
--|-toto101
--|-toto102
-|-toto11
|-toto2
|-toto3
-|-toto31
-|-toto32
...
j'ai fait ca :
echo "<table>";
$SQL = "SELECT id,toto_name FROM table";
$REQ = @mysql_query($SQL, $mysqlCnx) or die('Pb de requête 1');
while ($Res = mysql_fetch_array($REQ, MYSQL_ASSOC)) {
echo "<tr><td>".$Res['toto_name']."</td><td>";
echo "<table>";
$test=array($Res['id']);
foreach($test as $id)
{
$SQL2 = "SELECT id,toto_name FROM table WHERE id_parent = '$id'";
$REQ2 = @mysql_query($SQL2, $mysqlCnx) or die('Pb de requête 2');
while ($Res2 = mysql_fetch_array($REQ2, MYSQL_ASSOC)) {
echo "<tr><td>".$Res2['toto_name']."</td></tr>";
}
echo "</table></td></tr>";
}
}
echo "</table>";
Et ce fabuleux script de m... ne me donne que le premier niveau de branche.Une idée pour arriver à une arborécence complète et sans me taper dans le code à chaque fois une requete SQL pour chaque niveau de branche ???