Sasha_ch
Новичок
Прошу "помощь зала", т.к. свой мозг иссяк за 3 дня мозговой деятельности.. Поиск не помог. (много тем схожих но везде данный аспект не затронут)
база MySQL
+родственный мне PHP (хотя не внем тут проблема)
Есть упрощенно такая структура таблиц (каталог товаров, с фильтрацией по характеристикам):
Запрос который возвращает список айдишников на товары я додумался написать:
Список всех фильтров для конкретной категории (например с айди=100):
проблема с выводом самого списка фильтров.. вот как пример здесь слева:
http://rozetka.com.ua/notebooks/c80004/filter/processor=intel_core_i7/
какой запрос написать чтобы отображались актуальные значения фильтра, после к примеру выбора 1-го или более значений... ??
http://rozetka.com.ua/notebooks/c80004/filter/processor=intel_core_i7/
- просьба обратить внимание, на часть фильтра "Процессор":
Intel Core i5 (+222) - товары которые сейчас отображены - не имеют этих свойств! но фильтра предлагаются!
Intel Core i3 (+227)
база MySQL
+родственный мне PHP (хотя не внем тут проблема)
Есть упрощенно такая структура таблиц (каталог товаров, с фильтрацией по характеристикам):
PHP:
CREATE TABLE categories (category_id, ... );
CREATE TABLE products (product_id, category_id, ...);
CREATE TABLE properties (property_id, category_id, ...);
CREATE TABLE values(value_id, value)
CREATE TABLE properties_values (product_id, value_id,category_id); // где category_id - больше вспомогательное поле
Запрос который возвращает список айдишников на товары я додумался написать:
PHP:
SELECT product_id FROM products as p WHERE p.category_id = '100' AND p.product_id IN
(SELECT product_id FROM properties_values WHERE value_id =948 AND product_id IN
(SELECT product_id FROM properties_values WHERE value_id =959 AND product_id IN
(SELECT product_id FROM properties_values WHERE value_id =954 OR value_id =953 )
)
) GROUP BY p.product_id
Список всех фильтров для конкретной категории (например с айди=100):
PHP:
SELECT pv.value_id, count(pv.value_id)
FROM products as p, properties_values as pv
WHERE p.category_id = '100' AND p.product_id= pv.product_id
GROUP BY pv.value_id
http://rozetka.com.ua/notebooks/c80004/filter/processor=intel_core_i7/
какой запрос написать чтобы отображались актуальные значения фильтра, после к примеру выбора 1-го или более значений... ??
http://rozetka.com.ua/notebooks/c80004/filter/processor=intel_core_i7/
- просьба обратить внимание, на часть фильтра "Процессор":
Intel Core i5 (+222) - товары которые сейчас отображены - не имеют этих свойств! но фильтра предлагаются!
Intel Core i3 (+227)