Чет я совсем плохой стал, не могу никак сообразить как вывести дерево с произвольным числом элементов.
Представляет оно из себя массив:
<?
$row[0] = array ('id'= > 1, 'parent'=> 0, 'title'=>'это первый корневой элемент');
$row[1] = array ('id'= > 2, 'parent'=> 0, 'title'=>'это второй корневой элемент');
$row[2] = array ('id'= > 3, 'parent'=> 1, 'title'=>'это потомок первого корневого элемента');
$row[3] = array ('id'= > 4, 'parent'=> 2, 'title'=>'это потомок второго корневого элемента');
$row[4] = array ('id'= > 5, 'parent'=> 4, 'title'=>'это это потомок потомка второго элемента');
// и т. д.
// т.е. по сути соответсвие 'parent' (потомка) == 'id' (родителя)
?>
Необходимо его вывести либо дивами, где каждый последующий потомок смещался бы, скажем на 20px, либо в списках - не столь важно. Проблема в том, что число потомков произвольно и неизвестно - их и вовсе может не быть. По идеи нужно использовать рекурсию, но чет никак не соображу как, а мне это нужно до завтра..
пример вывода
<div>
это первый корневой элемент
<div>
это потомок первого корневого элемента
</div>
</div>
<div>
это второй корневой элемент
<div>
это потомок второго корневого элемента
<div>
это потомок потомка второго элемента
</div>
</div>
</div>