SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 22.05.2009 10:35:41

alexvol
Участник
Откуда: Киев
Зарегистрирован: 22.05.2009
Сообщений: 7

Запрос к иерархическому меню

Здравствуйте.
Помогите пожалуйста решить такую проблему:
- есть таблица с иерархическими пунктами меню

id  | parent_id |   title       |
1   |     0        | Курсы      |
2   |     0        | Контакты |
3   |     1        | Дизайн    |
4   |     3        | Интерьер |
5   |     4        | 3DMax     |
6   |     1        | Графика  |

- при заходи на пункт меню, например 3DMax, нужно отобразить путь типа Курсы/Дизайн/Интерьер/3DMax, то есть нужно сделать запрос к базе которая выведет те пункты меню которые иерархически связаны между собой.

Как можно сделать такой запрос,  который выводил пункты с  нижнего уровня к верхнему?

Отредактированно alexvol (22.05.2009 10:41:07)

Неактивен

 

#2 22.05.2009 19:34:27

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Запрос к иерархическому меню

Рекурсивно несколько запросов.

Неактивен

 

#3 23.05.2009 01:37:18

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: Запрос к иерархическому меню

Поглядите статью http://webew.ru/articles/2080.webew
Можно начать сразу отсюда: http://webew.ru/articles/2080.webew#mysql

Неактивен

 

#4 23.05.2009 10:49:33

alexvol
Участник
Откуда: Киев
Зарегистрирован: 22.05.2009
Сообщений: 7

Re: Запрос к иерархическому меню

Большое спасибо всем за ответ. Очень помогло разобраться в данной проблеме... Но все таки благодаря статьи http://webew.ru/articles/2080.webew в комментариях нашел ссылку на статью http://phoinix.ucoz.ru/publ/1-1-0-1/ , где на мой взгляд реализация базы данных по теории NESTED SETS (ВЛОЖЕННЫЕ МНОЖЕСТВА)  более практична чем моя (id и parent_id)

Отредактированно alexvol (23.05.2009 11:13:13)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson