Создать неупорядоченный список на основе категорий - PullRequest
0 голосов
/ 15 февраля 2011

Мне нужен неупорядоченный список для заполнения из таблицы категорий.

Categories: 0 -> представляет родительскую категорию.

id name parent 1 n1 0 2 n2 1 3 n3 2 4 n4 3 5 n5 1 6 n6 0 ........

Я пытался использовать следующее:

$ menu_array - это массив, который содержит таблицу категорий в качестве ассоциативного массива.

while ( $row = mysql_fetch_assoc($query) ) {  
        $menu_array[$row['id']] = array('name' => $row['name'],'parent' => $row['parent']);  
}   


function generate_menu($parent)  
{  

  //this prevents printing 'ul' if we don't have subcategories for this category  
        $has_childs = false;   
//use global array variable instead of a local variable to lower stack memory requierment    
        global $menu_array;  
        foreach($menu_array as $key => $value)  
        {  
                if ($value['parent'] == $parent)   
                {         
                        //if this is the first child print '<ul>'                         
                        if ($has_childs === false)  
                        {  
          //don't print '<ul>' multiple times                               
                             $has_childs = true;  
                                echo '<ul>';  
                        }  
echo '< li>< a href="/category/' . $value['name'] . '/">' . $value['name'] . '< /a>';  
                        generate_menu($key);  
//call function again to generate nested list for subcategories belonging to this category  
                       echo '< /li>';  
                }  
        }  
        if ($has_childs === true) echo '< /ul>';  
}    

Когда я запускаю приведенный выше код на сервере, я получаю HTMLвыходные данные (просмотр источника):

Ответы [ 2 ]

0 голосов
/ 16 февраля 2011

ты должен прочитать это правильно
jQuery UI TAB

0 голосов
/ 16 февраля 2011


Я получил ответ на свой вопрос. Я пытался реализовать многоуровневый раскрывающийся список, но использовал один раскрывающийся список. Спасибо за комментарии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...