Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Список родительских категорий


Автор: coyl 19.9.2007, 17:36
Проблема.
Есть таблица categories вида:
Код

id       name    parent
1        cat1      0
2        cat2      0
3        cat3      1
4        cat4      3
5        cat5      4
Надо получить для категории список всех родительских категорий для категории вплоть до категории с parent = 0. 

Например для категории cat5 это будет список: 4,3,1

Заранее спасибо =)

Автор: Dagdamor 19.9.2007, 19:18
Для данной структуры таблицы "простого" способа нет. Придется выбирать непосредственного родителя, потом его родителя... и т. д. до корневого элемента дерева. Есть альтернативы:

1. Материализованный путь (для каждого элемента дерева хранить в дополнительном поле список родителей через запятую).
2. Nested Sets, где для каждого элемента вводятся дополнительные поля level, left и right и которые особым образом нумеруются. http://www.getinfo.ru/article610.html

Автор: coyl 19.9.2007, 22:25
Спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)