Fonction récursive dans une boucle
Bonjour,
J'essaie d'afficher une fonction récursive dans une boucle qui lit une table, et impossible d'afficher correctement le résultat...:aie:
Voici la structure de la table SQL
Code:
1 2 3 4 5 6
|
id|id_parent|nom
1 | 0 | Animaux
2 | 1 | Chats
3 | 0 | Voitures
4 | 2 | Siamois |
la boucle classique :
Code:
1 2 3 4 5 6
|
while ($cat = mysql_fetch_array($rid)) {
echo "<tr></td>".$cat['id']."</td>";
echo "<tr></td>".$cat['nom']."</td>";
echo "<tr></td>".arbre($cat['parent_id'])."</td></tr>";
} |
La fonction arbre, après 1243 modifs :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
function arbre($parent) {
while ($cat = mysql_fetch_array($res))
{
if ($cat['id'] != $parent) {
arbre($cat['id']);
$sortie = $cat['nom'];
}else{
$sortie = "Racine/$cat[nom]";
}
}
return $sortie;
} |
Je voudrais afficher pour les 4 lignes de la boucle :
1 | animaux | Racine
2 | chats | Racine/animaux
3 | voitures | Racine
4 | siamois | Racine/animaux/chats
Si quelqu'un peut me mettre sur la piste... merci !