Bonjour,
J'essaie d'afficher une fonction récursive dans une boucle qui lit une table, et impossible d'afficher correctement le résultat...
Voici la structure de la table SQL
la boucle classique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 id|id_parent|nom 1 | 0 | Animaux 2 | 1 | Chats 3 | 0 | Voitures 4 | 2 | Siamois
La fonction arbre, après 1243 modifs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>"; }
Je voudrais afficher pour les 4 lignes de la boucle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
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 !
Partager