/** * Вывод дерева * $parent_id - id-родителя * $level - уровень вложености */ function outTree($parent_id) { global $objects_arr; //Делаем переменную $objects_arr видимой в функции global $sql; if (isset($objects_arr[$parent_id])) { //Если объект с таким parent_id существует foreach ($objects_arr[$parent_id] as $value) { //Обходим $sql .= ", " . $value["id"]; //Рекурсивно вызываем эту же функцию, но с новым $parent_id outTree($value["id"]); } } }
$exp = "expand"; $aj_func = "javascript:show_descr(this);"; //$edit = "<a class='edit'> if (isset($_SESSION['uid'])) { $show = ""; $exp = "collapse"; $aj_func = "javascript:edit_object(this);"; } elseif ($parent_id == 0) { $show = ""; } else { $show = " class=\"collapsed\""; } if (isset($objects_arr[$parent_id])) { //Если объект с таким parent_id существует echo "<ul " . $show . ">\n"; foreach ($objects_arr[$parent_id] as $value) { //Обходим $id = $value["id"]; echo "<li>\n"; echo "<a href='#!' onclick=" . $aj_func . " id=" . $id . ">" . " " . $value["name"] . "</a>" . " \n"; if (isset($objects_arr[$id])) { echo "<a class='pin " . $exp . "' href='#!' OnClick='hide_sibls(this)'></a> \n"; } OutTree($id, $lvl); $lvl--; } echo "</ul>\n"; } } outTree(0, 0);