|
 988 байт |
|
| Доброго времени суток ГУРУ PHP/MySQL
Сразу к делу...
Допусти нужно в результате получить такое меню
http://px6.ru/fulls-c97f81ed728f4d3717db46547189bac2.png
Само меню можно сделать, но постал вопрос перед выборкой из БД.
Вот схематическая структура БД
http://px6.ru/fulls-90aa4fd5c6a1339f6af8fd9f101a339c.gif
Как видно из картинки, есть три таблицы.
http://px6.ru/fulls-0017ca7ba93da5a69f88070fa0d9bc44.png
- секции - назову её основной таблицей, содержит название и позицию.
На картинке это Секция 1 и секция 4
http://px6.ru/fulls-84d524652fc20f5c7780ac8f63a77cf4.png
- контент - тут хранится основной контент, контент может быть вложенным в произвольном порядке
На картинке это Контент 12, Категория 2, Категория 4, Контент 8, Контент 6, Контент 7 и тд.
http://px6.ru/fulls-50e6f78e59551b37271f187453108739.png
- категории - я думаю тут понятно, принцип папки, тоже может быть вложенным в произвольном порядке
Честно, я начал писать код запроса для БД, чтоб выбрать данные
а потом из этих данных собрать данное дерево. Но на каком-то этапе понял,
что не смогу составить данный запрос как можно оптимальней. Начинаю метаться,
от выбора реализации, реализовать с помощью JOIN и при этом посылать многочисленное количество запросов,
или использовать UNION для создания одной таблицы, а потом работать с массивом.
Так вот, кто может подсказать, сказать где почитать, показать или даже продемонстрировать пример,
как это всё возможно воплотить в реальность. Возможно, будут предложения по самой структуре БД.
Заранее благодарен.
К теме прикрепил дамп БД. | |
|
|
|
|
|
|
|
для: dima_s_d_s
(05.04.2009 в 03:54)
| | >Честно, я начал писать код запроса для БД, чтоб выбрать данные
>а потом из этих данных собрать данное дерево. Но на каком-то этапе понял,
>что не смогу составить данный запрос как можно оптимальней. Начинаю метаться,
>от выбора реализации, реализовать с помощью JOIN и при этом посылать многочисленное количество запросов,
>или использовать UNION для создания одной таблицы, а потом работать с массивом.
Зачем три таблицы? Почему не обойтись одной? | |
|
|
|
|
|
|
|
для: Trianon
(05.04.2009 в 09:16)
| | Вопрос снят, решение NESTED SETS. | |
|
|
|