Fonction récursive : où placer les div ?
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 :
Code:
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;
} |
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.
Merci à ceux qui maitrisent les récursives.