Задача с фильтрами

mastrelelik

Новичок
Не получается решить следующую задачу - создание дерева фильтров.
Такие фильтры есть на сайте http://www.vasko.ru/to_catalog/action_categDesc/id_1193/

Когда выбирается какой-то подпункт в правом столбце, то остаются только те фильтры, для которых есть товары с выбранным фильтром.

Есть три таблицы:
1) t_tovars таблица с товарами, которая имеет поля:
id, title
2) t_filters таблица с фильтрами
id, parent_id, title - у категорий верхнего уровня "Бытовая техника", "Марка", "Мощность" parent_id=0
3) t_filter_values таблица хранящая свойства этих товаров
filter_id, filter_value, tovar_id,
где
filter_id - соответствует t_filters.id,
filter_value соответствует t_filters.id для подкатегорий у которых parent_id>0
tovar_id соответствует t_tovars.id

Когда ни один фильтр не выбран, то количества считать просто, через count и group by.
А вот как определить количества когда выбрано несколько фильтров из РАЗНЫХ групп?
 

AnrDaemon

Продвинутый новичок
Не получается решить следующую задачу - создание дерева фильтров.
Такие фильтры есть на сайте http://www.vasko.ru/to_catalog/action_categDesc/id_1193/

Когда выбирается какой-то подпункт в правом столбце, то остаются только те фильтры, для которых есть товары с выбранным фильтром.

Есть три таблицы:
1) t_tovars таблица с товарами, которая имеет поля:
id, title
2) t_filters таблица с фильтрами
id, parent_id, title - у категорий верхнего уровня "Бытовая техника", "Марка", "Мощность" parent_id=0
чзбрд. Какой найух parent_id?
id, title, type, range
ВСЁ

3) t_filter_values таблица хранящая свойства этих товаров
filter_id, filter_value, tovar_id,
где
filter_id - соответствует t_filters.id,
filter_value соответствует t_filters.id для подкатегорий у которых parent_id>0
tovar_id соответствует t_tovars.id
Ну хоть тут всё верно.

Когда ни один фильтр не выбран, то количества считать просто, через count и group by.
А вот как определить количества когда выбрано несколько фильтров из РАЗНЫХ групп?
Так же.
Погоди - ты по какой таблице считаешь?
 

mastrelelik

Новичок
чзбрд. Какой найух parent_id?
parent_id нужно чтоб строить дерево какой-угодно вложенности. В данном случае дерево двух уровневое.

А по сабжу, задачу уже решили. При помощи вложенного запроса, и как я и полагал при помощи having
 
Последнее редактирование:
Сверху