Récursivité tableaux multidimensionnel en arbre
Bonjour,
Je cherche à faire basculer mon tableau multidimensionnel vers un arbre (liste ul-li).
Sauf que dans mon code j'obtiens <ul><li></li><ul></ul></ul> ce qui n'est pas correct.
Je vois pas comment résoudre ce petit problème :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
public static function maFonctionRecursive($parent = 0) {
$tableau = array();
$sql = self::getSousCategories($parent);
foreach ($sql as $row) {
$id_categorie = $row['id_category'];
$tableau[] = array(
'id_categorie' => $id_categorie,
'enfants' => self::maFonctionRecursive($id_categorie)
);
}
return $tableau;
}
public static function tab2arbre($tab, &$data){
foreach($tab as $key => $value)
{
if(is_array($value))
{
$data .= '<ul class="ul_arbre">';
self::tab2arbre($value, $data);
$data .= '</ul>';
}
else
{
$nom = self::getNameById($value);
$data .= '<li id="'.$value.'" class="li_arbre">' . $nom. '</li>';
}
}
return $data;
} |
et l'affichage :
Code:
1 2 3 4 5
|
$cat = Category::maFonctionRecursive();
$data = '';
$retour = Category::tab2arbre($cat, $data);
echo $retour; |
Merci d'avance