Tree/AlLoadLevel

Материал из PhpWiki.

Перейти к: навигация, поиск
 Деревья в базах данных =>  Списки смежности =>  Загрузка дерева =>  Загрузка одного уровня
Как загрузить как загрузить один уровень?

popoff

Представленный здесь скрипт возвращает массив, описанный здесь: Внутреннее представление деревьев в программах

<?php
function tree_list_load_level($k_parent)
{
  // $k_parent - Идентификатор родительского элемента, для которого следует
  //   загрузить один уровень
 
  // Возвращает ложь в случае ошибки
 
  if(empty($k_parent)||!is_numeric($k_parent)) return false;
 
  $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_parent=".$k_parent." and
      t_catalog.k_item=t_catalog_tree.k_item
    order by
      t_catalog.s_name");
 
  if(!$r) return false;
 
  $a_tree=array();
  for($i=0;$i<mysql_num_rows($r);$i++)
  {
    $f=mysql_fetch_assoc($r);
    $a_tree[]=array(
      'k_item' => $f['k_item'],
      's_name' => $f['s_name'],
      'a_tree' => array()
      );
  }
 
  return $a_tree;
}
?>

Смотрите так же: Загрузка одного уровня для дерева, заданного вложенными множествами Вывод дерева

Личные инструменты