Lecture et ou construction d'un tableau
Posté : 07 avr. 2007, 15:42
Bonjour à tous, je viens partager une prise de tête avec vous car je suis perdu dans mon code ....
je bricole un menu a trois sous-niveau stocker dans une BD, jusque la tout vas bien. J'ai réussi a afficher ce menu de manière plus satisfaisante grasse à des while de while de while.. de mysql_fecth_assoc ...
Pensant que cela ne serait pas franchement bien en cas d'une grosse fréquentations du site je tente de transformer ce script en deux requette sql pour construire un tableau et d'en faire une simple lecture...
Voici le tableau que j'obtiens :
pour l'obtenir :
La je je suis sur :
Tout conseils sont les bien venu.
PS: si le visuel du bordel peut etre utile pour répondre dites le je donnerais l'url .
Merci d'avance a ceux qui oserons ce pencher sur ce code.
je bricole un menu a trois sous-niveau stocker dans une BD, jusque la tout vas bien. J'ai réussi a afficher ce menu de manière plus satisfaisante grasse à des while de while de while.. de mysql_fecth_assoc ...
Pensant que cela ne serait pas franchement bien en cas d'une grosse fréquentations du site je tente de transformer ce script en deux requette sql pour construire un tableau et d'en faire une simple lecture...
Voici le tableau que j'obtiens :
Code : Tout sélectionner
Array (
[sous_menu_techno] => Array ( [id_menu] => 59 [parent] => 45 [titre] => sous_menu_techno [ordre] => 1 )
[sous_menu 3] => Array ( [id_menu] => 63 [parent] => 43 [titre] => sous_menu 3 [ordre] => 1 )
[vasou] => Array ( [id_menu] => 36 [parent] => 0 [titre] => vasou [ordre] => 1 )
[sous_sous_menu 3] => Array ( [id_menu] => 64 [parent] => 63 [titre] => sous_sous_menu 3 [ordre] => 1 )
[Techno] => Array ( [id_menu] => 45 [parent] => 36 [titre] => Techno [ordre] => 1 )
[the best] => Array ( [id_menu] => 82 [parent] => 81 [titre] => the best [ordre] => 1 )
[essaieuuu] => Array ( [id_menu] => 108 [parent] => 88 [titre] => essaieuuu [ordre] => 1 )
[re pouet toi] => Array ( [id_menu] => 109 [parent] => 108 [titre] => re pouet toi [ordre] => 1 )
[t�st 3] => Array ( [id_menu] => 12 [parent] => 0 [titre] => t�st 3 [ordre] => 2 )
[sous titre] => Array ( [id_menu] => 13 [parent] => 12 [titre] => sous titre [ordre] => 2 )
[outils] => Array ( [id_menu] => 71 [parent] => 36 [titre] => outils [ordre] => 2 )
[menu 3] => Array ( [id_menu] => 43 [parent] => 0 [titre] => menu 3 [ordre] => 3 )
[Soso] => Array ( [id_menu] => 81 [parent] => 0 [titre] => Soso [ordre] => 4 )
[pouet] => Array ( [id_menu] => 88 [parent] => 0 [titre] => pouet [ordre] => 6 ) )while($constructionmenu=mysql_fetch_assoc($sqlniveau) )
{
$menu0[$constructionmenu[titre]]= $constructionmenu;
}
mes menu ont comme parents la valeur 0. Je les affiche grace à :
foreach ($menu0 as $menu) {
if ($menu[parent]==0)
{
echo "<li>".htmlentities($menu[titre])." id= ".$menu[id_menu]."<br />";
$fils==$menu[id_menu];
}
et mon soucis et que je ne parviens pas a choper la logique qui me permettera d'afficher les sous menu sous-sous menu de chaque menu .La je je suis sur :
if ($menu0["$menu[titre]"][parent]==$fils)
{echo "<li>".htmlentities($menu0["$menu[titre]"][titre])."<br />";}
echo $menu0["$menu[titre]"][titre]."<br />";
echo $menu0["$menu[titre]"][parent]."<br />";
echo $menu0["$menu[titre]"][id_menu]."<br />";
} qui est la fin de mon foreach.Tout conseils sont les bien venu.
PS: si le visuel du bordel peut etre utile pour répondre dites le je donnerais l'url .
Merci d'avance a ceux qui oserons ce pencher sur ce code.