Нужен алгоритм каталога

juice55

Новичок
Нужен алгоритм каталога

Нужен алгоритм каталога

Нужно сделать каталог (с разной степенью вложения)
Не совсем понимаю, как это можно сделать…
Делаю на PHP + MySQL.
Предполагаю, что-то типа следующего таблица структуры:
Id | name | parent

Id – автоинкремент
Parent – кто является «папой» данного раздела (0 – корень)

Так вот, не могу понять элементарного, как хотя бы вывести это меню правильно (кагда оно в базе лежит черте как) например:
Папка 1
Папка 2
-- подраздел 1
-- подраздел 2
-- папка 3
---- подраздел 4
---- подраздел 5
Папка 5
Папка 6
-- подраздел 6
 

m2k

Новичок
бесконечные деревья строят с помощью рекурсии (когда ф-ция вызывает сама себя)

т.е. изначально ты передаёш допустим массив где у тя
$tree = array(
array("id"=>1, "id_parent"=>0, "name"=>"name1"),
array("id"=>2, "id_parent"=>1, "name"=>"name 2"),
array("id"=>3, "id_parent"=>0, "name"=>"name 3")
);

должно получится чтото типа
function recursion_tree($tree, $id_parent = 0)
{
foreach($tree as $key => $value)
{
if($value["id_parent"] == $id_parent)
{
$new_id_parent = $value["id"];
unset($tree[$key]);
print $value["name"]."<br>";
recursion_tree($tree, $new_id_parent);
}
}
}

recursion_tree($tree);

чтото типа того отступы у дерева сам сделаеш и ваще может и не стоит расценивать этот пример как руководство к действию скорей это принцип работы рекурсивных ф-й

П.С. писал на скорую руку так что всё может быть :)
 
Сверху