[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Дерево категорий
Glorious
Хочу сделать многоуровневое дерево категорий.

Структура таблицы:
id | parent_id | name

Можете поделиться ссылкой на статью, либо скинуть пример вашей реализации?

Желательно, чтобы 1-2 запросами достать всю информацию, а потом с ней работать.

А то встречаю рекурсивные функции с запросами внутри, в итоге получается туча обращений к БД sad.gif



Спустя 8 минут, 9 секунд (27.11.2011 - 22:26) Ramzil_Nixon написал(а):
AJAX можно вроде релизовать

http://javascript.ru/ajax/rich-client

Спустя 57 минут, 54 секунды (27.11.2011 - 23:24) Placido написал(а):
Неплохой обзор на эту тему есть здесь. Метод вложенных множеств (nested sets) хорошо описан здесь.

Спустя 28 секунд (27.11.2011 - 23:24) zeromind написал(а):
тут 2 функции
1ая с рекурсией, работает в 100 раз медленее второй)), скачай архив, там примеры даже с microtime есть..

Спустя 6 минут, 23 секунды (27.11.2011 - 23:31) Placido написал(а):
Интересную дискуссию (по крайней мере, мне было интересно, поэтому добавил ссылку на нее в закладки) о методе Materialized Path см. здесь.

Спустя 3 минуты, 27 секунд (27.11.2011 - 23:34) Glorious написал(а):
Всем спасибо за ответы.

Пошел тестировать разные способы smile.gif

Спустя 1 час, 3 минуты, 19 секунд (28.11.2011 - 00:37) Zerstoren написал(а):
Я обычно достаю всю таблицу с записями, кэширую данные и подгоняю массив в такой вид

$tree['%parent'][] = array('id'=>'%id' , 'name'=>'%some_name');

и дальше в рекурсии уже создаю само дерево.
1 запрос в БД, а код отрабатывает очень быстро.

Еще актуально добавлять параметр "абсолютный родитель". Может очень сильно пригодится

Спустя 1 минута, 23 секунды (28.11.2011 - 00:39) vital написал(а):
Nested sets же.

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.