Вывод товаров из многоуровневых категорий

Swat

Новичок
Привет всем!

Создал стандартную систему организации многоуровневых категорий.

Таблица c категориями (cats)
id|parent|name

Таблица с товарами (products)
id|cat|name

Думаю не стоит вам объяснять как она работает :)

При заходе пользователя в начальную (1 уровень) категорию со вложенностью к примеру в 3 уровня необходимо показать все товары которые включает в себя эта категория, т.е. и те товары которые во 2 и 3 уровнях. Соответственно при заходе во 2 уровень - показать и 3. Ну и 3 уровень - только те товары которые в 3, т.к. больше уже некуда :)

В общем обычная система открытий категорий с уменьшением количества товаров по мере глубины входа.

Я не понимаю как составь правильный запрос БД и организовать такой вывод... Подскажите пожалуйста методику или может готовый пример какой-либо похожей программы - постараюсь разобраться сам :)

Очень благодарю!
 

Swat

Новичок
Спасибо большое, даже и не думал о таких готовых функциях :)
Использовал списки смежности с организацией БД:

cats
id|name

cats_tree
id|parent

Вот какой вывод я бы хотел сделать:
PHP:
Красота и Здоровье
Мобильные устройства
Одежда, Обувь
   Женская одежда
   Спортивная обувь
   Женская обувь
   Мужская одежда
      Брюки, джинсы, шорты
      Костюмы, пиджаки, жилеты
   Мужская обувь
   Другое
Подарки и Сувениры
Спорт и Туризм
Техника и Электроника
Другое
Т.е. при клике на "Мужская обувь" - показывались все ее родители и один уровень детей...
То же самое при клике на "Подарки и сувениры" - показывались все корневые категории и один уровень детей..

Заранее благодарю :)
 

tz-lom

Продвинутый новичок
Swat
ну,поройся в интернетах,всяхих вариантов древовидных меню там море,хотя можно и самому наляпать на jQuery минут за десять
 

Swat

Новичок
tz-lom
Дело в том что мне тут JS не нужен... я получаю id категории с помощью GET, мне надо что бы страница обновлялась и соответственно открывалась новая категория и подкатегории... я хотел бы это реализовать с помощью уже готовых функций, которые были в примере загрузки списков смежности... если это конечно возможно... я просто не могу понять как мне это сделать :(
 
Сверху