从mysql查询我有id,parent_id和深度变量
深度从0开始
你能给我一个优雅的解决方案或一个好的链接
我正在使用CI
答案 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是数据库中的所有行。