Построить дерево отношений между 10000 записей.

denisOg

Новичок
Добрый день.
Есть таблица - сотрудники emploee[id_emploee,name,emploee_id].
У каждого есть начальник emploee.emploee_id из этой же таблицы

Нужно построить дерево отношений . Записей всего 12 000-13 000. И будет расти.

Я выбираю и рекусивно строю дерево, вот такой обычной функцией:
PHP:
function build_tree($cats,$parent_id){
  if(is_array($cats) and isset($cats[$parent_id])){
    $tree = '<ul>';
    foreach($cats[$parent_id] as $cat){
       $tree .= '<li>'.$cat['name'];
       $tree .=  build_tree($cats,$cat['id']);
       $tree .= '</li>';
    }
    $tree .= '</ul>';
  }
  else return null;
  return $tree;
}
Но долго. Пройтись по массиву в 12-13 000 записей рекусивно строя html списки. ..... Как можно по другому построить?
Загружал страницу, а потом делал ajax запрос и получал html дерево. Но все равно, визуально - это долго.
Может есть какие нибудь js технологии, так как работу скрипта наврятли уже ускорить.
UPD: Как вариант можно использовать кеширование (сервер YII).

Спасибо.
 

hell0w0rd

Продвинутый новичок
не уверен, но можно строить рекурсивно массив, его в json, а на клиенте разворачивать
 

Breeze

goshogun
Команда форума
Партнер клуба
подгружай ветки по мере надобности аяксом

и да, работу скрипта наверняка можно ускорить.
 
Сверху