Bonjour à tous,
Des heures que je me prends le chou pour afficher le résultat d'une fonction récursive dans un div (à fond rouge), sans qu'il soit doublé, pas fermé...et autres âneries qui plantent l'affichage :
Là ça fonctionne si le parent_id existe et que la récursivité est appelée...Mais si la fonction ne tourne qu'une fois parce que la catégorie n'a pas de parent, le div n'est pas fermé et la flèche s'affiche en fin de chaine.
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 function recursive($catid){ $sql = "SELECT parent_id, nom FROM categories WHERE id = '".$catid."' "; $res = mysql_query($sql); $row = mysql_fetch_assoc($res); $ligne = "<div style='background-color:#F00'>Accueil => "; if($row['parent_id'] == '0'){ $nom = stripslashes($row['nom']) . ' => '; $ligne .= $nom; }else{ $nom = stripslashes($row['nom']) . '</div>'; $ligne = recursive($row['parent_id']) . $nom; } return $ligne; }
Merci à ceux qui maitrisent les récursives.
Partager