таблицу 'elements' в БД с полями id, id_parent, caption
id - элемент дерева, id_parent - id родителя элемента, caption - наименование элемента.
Необходимо:
создать ассоциативный массив $arr[] с полями 'id', 'id_parent', 'caption'
чтобы обращаться к элементу массива по 'id' - $arr["119"]['caption'] и получить название 119-го элемента массива.
Я так понимаю, что здесь без рекурсии не обойтись, только вот запутался совсем, уже второй день сижу.
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- function structure_array($db, $id_parent=0, $level=0) {
- $result = get_mysql_query($db, "SELECT * FROM `elements` WHERE `id_parent` = $id_parent;");
- {
- {
- $st[]=$row["id"];
- $st2=structure_array($db, $row["id"], $level + 1);
- foreach ($st2 as $key => $value) {
- $st[]=$key;
- }
- }
- }
- return($st);
- }