düzeyli dizi ile çok düzeyli menüsü

2 Cevap php

sadece burada herkes bu sorunu çözebilir sormak istiyorum?

I want to create a multilevel menu by generate with multilevel array. I just can't get perfect solution, it always got array_push error. My study the original idea come from http://www.weberdev.com/get_example-4830.html

Ama yine de benim ihtiyacımı maç olamaz.

Bu Benim 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]

Bu gibi benim dizi bir şey istiyorum

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]
                                       );       

I only able to do until push_array, but it has warning Warning: array_push() [function.array-push]: First argument should be an array

Bu soru bir çok tartışmak olmuştu var, ama biraz araştırma yaptıktan sonra davanın en düzeyli menüsü yapıyorsun ama bir düzey dizi. Ben bir şey düzeyli dizi ulaşmak istiyoruz. Herkes yardımcı olabilir?

Ben statik türü kullanıyorum geçici dizi.

2 Cevap

[Çözüldü]

Ben bunu itin ilk önce diziyi bildirmek zorunda, başka PHP içindeki verileri itmek değil, o boş olacak. Tanrı'ya şükürler olsun!

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

ama bu çözüm için bir şey $ dizi ['çocuk'] = null olamaz;

Sana bakmak tavsiye ediyorum

http://www.ideashower.com/our_solutions/create-a-parent-child-array-structure-in-one-pass/ & http://www.phpriot.com/articles/nested-trees-1

Bu iki fikir arasında ihtiyacınız ne olursa olsun inşa edecek bir çok uygulanabilir bir dizi ağaç alabilirsiniz.