Из запроса mysql у меня есть id, parent_id и переменные глубины
глубина начинается с 0
вы можете дать мне элегантное решение или хорошую ссылку
Я использую CI
Сначала вам нужно написать рекурсивную функцию для чтения всех дочерних элементов и вывести их как «" и <"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