Tree/AlLoadPath
Материал из PhpWiki.
Деревья в базах данных => Списки смежности => Загрузка дерева => Загрузка пути
Как загрузить путь к заданной вершине?
popoff
Представленный здесь скрипт возвращает массив, описанный здесь: Внутреннее представление деревьев в программах
<?php function tree_list_load_path($k_item) { // $k_item - Идентификатор элемента, для которого следует загрузить путь // Возвращает ложь в случае ошибки if(empty($k_item)||!is_numeric($k_item)) return false; $a_tree=array(); while($k_item) { $r=mysql_query(" select t_catalog_tree.k_item, #идентификатор элемента t_catalog_tree.k_parent, #идентификатор родительского элемента # элементы верхнего уровня содержат здесь 0 t_catalog.s_name #название from t_catalog, #данные t_catalog_tree #дерево where t_catalog_tree.k_item=".$k_item." and t_catalog.k_item=t_catalog_tree.k_item limit 1 "); if(!$r||!mysql_num_rows($r)) return false; $f=mysql_fetch_assoc($r); $a_tree=array( array( 'k_item' => $f['k_item'], 's_name' => $f['s_name'], 'a_tree' => $a_tree )); $k_item=$f['k_parent']; } return $a_tree; } ?>
Смотрите так же: Загрузка одного пути к вершине для дерева, заданного вложенными множествами Вывод дерева
