如何在php中构建一个具有id,parent_id和深度变量的树

时间:2012-07-10 00:05:17

标签: php mysql codeigniter tree

从mysql查询我有id,parent_id和深度变量

深度从0开始

你能给我一个优雅的解决方案或一个好的链接

我正在使用CI

1 个答案:

答案 0 :(得分:3)

首先,您必须编写一个递归函数来读取所有子元素,并将它们输出为“”和<“li>”。

一旦你获得了正确的形状。您可以使用以下示例代码将li转换为树。

http://www.dynamicdrive.com/dynamicindex1/navigate1.htm

http://odyniec.net/articles/turning-lists-into-trees/

您也可以在下面的代码

   function print_list($array, $parent=0) {
        print "<ul>";
        foreach ($array as $row) {
            if ($row->parent_id == $parent) {
                print "<li>$row->title";
                print_list($array, $row->id);  # recurse
                print "</li>";
        }   }
        print "</ul>";
    }

print_list是一个递归函数,$ array是数据库中的所有行。

PHP / MySQL build tree menu