![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| AlexanderI |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 9.7.2004 Репутация: 2 Всего: 3 |
Здравствуйте.
Есть таблица: id | parent_id 1 | 2 |1 3 | 4 |2 5 |3 6 |3 Эта таблица меню сайта с вложенностью. Т.е. parent_id это и есть вложенность. В данный момент меню собирается через много sql запросов. т.е. для каждой вложенности производится отдельный sql запрос. А каким образом собрать меню с помощью одного запроса ? Подскажите какой-нибудь алгоритм как правильно распарсить через 1 запрос к sql. Хотелось бы чтобы при выводе создавалось видимость вложенности. 1 -2 --4 3 -5 -6 --------------------
Магазин детских игрушек | Авто ВАЗ |
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
Уважаемый AlexanderI, выбираете все данные "SELECT id, parent_id FROM table ORDER BY id". Дальше скриптом создаете структуру меню (например, массив массивов).
Я бы еще рекомендовал добавить кэширование (перечитывать данные из БД если изменился MAX(id)). -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| GoDleSS |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 11.2.2007 Где: Пироговский Репутация: 2 Всего: 2 |
Есть ли речь идет об oracle - рекурсивные запросы там есть, а вот в остальных случаях - см. ответ qinnie
Это сообщение отредактировал(а) GoDleSS - 15.5.2008, 14:23 --------------------
It's a nice day to die my friend! |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |