| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Вложенное меню |
| Автор: AlexanderI 15.5.2008, 11:32 |
| Здравствуйте. Есть таблица: 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 15.5.2008, 11:41 |
| Уважаемый AlexanderI, выбираете все данные "SELECT id, parent_id FROM table ORDER BY id". Дальше скриптом создаете структуру меню (например, массив массивов). Я бы еще рекомендовал добавить кэширование (перечитывать данные из БД если изменился MAX(id)). |
| Автор: GoDleSS 15.5.2008, 14:21 |
| Есть ли речь идет об oracle - рекурсивные запросы там есть, а вот в остальных случаях - см. http://forum.vingrad.ru/index.php?showtopic=211374&view=findpost&p=1512473 |