2010-01-25 6 views
1

je veux juste demander à quelqu'un ici peut résoudre ce problème?menu à plusieurs niveaux avec tableau multiniveau

Je souhaite créer un menu à plusieurs niveaux en générant avec un tableau à plusieurs niveaux. Je ne peux pas obtenir une solution parfaite, il a toujours une erreur array_push. Mon étude l'idée originale vient de http://www.weberdev.com/get_example-4830.html

Mais ne peut toujours pas correspondre à mon besoin.

Ceci est mon MySQL

[code] 
----------------------------------------- 
|id | parent_id| name | link  |seq 
|1 | 0  |dashboad |dashboard/|1 
|2 | 0  |menu1 |menu1/ |2 
|3 | 0  |menu2 |menu2/ |3 
|4 | 0  |menu3 |menu3/ |4 
|5 | 2  |add  |add/  |1 
|6 | 3  |add  |add/  |1 
|7 | 2  |edit  |edit/  |2 
|8 | 4  |add  |add/  |1 
------------------------------------------ 
[/code] 

Je veux que mon tableau quelque chose comme ça

array('dashboard'=>array(
         'id'=>'', 
         'name'=>'dashboard', 
         'title'=>'dashboard', 
         'permalink'=>base_url().'dashboard/', 
         'active'=>FALSE, 
         'child'=>NULL 
         ), 
    'menu1'=>array(
         'id'=>'', 
         'name'=>'menu1', 
         'title'=>'menu1', 
         'permalink'=>base_url().'menu1/', 
         'active'=>FALSE, 
         'child'=>array(
             'add'=>array(
                'id'=>'', 
                'name'=>'add', 
                'title'=>'add', 
                'permalink'=>base_url().'menu1/add', 
                'active'=>FALSE, 
                'child'=>NULL 
                ), 
             'edit'=>array(
                'id'=>'', 
                'name'=>'edit', 
                'title'=>'edit', 
                'permalink'=>base_url().'menu1/edit/', 
                'active'=>FALSE, 
                'child'=>NULL 
                ) 
                ), 
           ), 
     ...................[similar like above] 
             );  

Je ne capable de faire jusqu'à push_array, mais il a avertissement Attention: array_push() [fonction .array-push]: Le premier argument devrait être un tableau

J'ai cette question a été discuté avec beaucoup, mais après avoir fait quelques recherches la plupart des cas font m menu ultilevel mais dans un tableau de niveau. Je veux réaliser quelque chose à plusieurs niveaux. Quelqu'un peut-il aider?

Le tableau temporaire J'utilise un type statique.

+0

Au lieu d'éditer la question pour indiquer qu'elle est résolue, ou de la modifier, veuillez l'afficher comme réponse et la marquer comme réponse. Vous savez, pour la postérité. – Jay

+0

ya, Mais je ne peux pas cliquer sur résoudre sur ma propre réponse, il faut 2 jours. Je vais évaluer une autre réponse, merci de rappeler. – Shiro

Répondre

0

[Résolu]

Je dois déclarer le tableau premier avant que je le pousse, sinon PHP ne peut pas pousser les données à l'intérieur, il sera vide. Louez le Seigneur!

if(!isset($option_results[$nav_ParentName]['child'])) 
        { 
         $option_results[$nav_ParentName]['child'] = array(); 
        } 
        $option_results[$nav_ParentName]['child'] = $option_results[$nav_ParentName]['child'] + $temp; 

mais la chose pour cette solution est impossible de déclarer $ array ['child'] = null;

Questions connexes