Créer une arborescence récursive
Bonjour,
je veux afficher un tableau récursif j'affiche seulementle dernier malgré que je sois dans une boucle while, je souhaiterais que ceci face une arborescence grâce à la fonction.
Voilà mon code :
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 32
| function afficher_menu($tb)
{
// Pour chaque élément du tableau...
foreach($tb as $key => $value)
{
// Si l'élément est un tableau, on appelle la fonction pour qu'elle le parcoure
if(is_array($value))
{
echo $key.' :<ul>';
afficher_menu($value);
echo '</ul><br />';
}
else //Sinon, c'est un élément à afficher, alors on le liste !
{
echo '<li>'.$value.'</li>';
}
}
}
include('config.php5');
$sql = mysql_query("SELECT DISTINCT * FROM produit p ORDER BY codeModele,codeSousFamille, codeLigne");
while($data = mysql_fetch_array($sql))
{
$modele = $data['codeModele'];
$sf = $data['codeSousFamille'];
$ligne = $data['codeLigne'];
echo $modele." - ".$sf." - ".$ligne."<br><br>";
$tb = array(
"$modele" =>array(
"$sf"=>array("$ligne")));
}
afficher_menu($tb); |
Ce que j'aimerais c'est que tant qu'il y'a des sf dans le" modèle" afficher et puis tant qu'il y'a des" lignes" dans sf afficher
Je développe :
Si mon champ $modele est different de celui qui est actuelle j'affiche le nouveaux sinon je rentre dans ma boucle $sf puis dans ma boucle $ligne