За последние 24 часа нас посетили 22486 программистов и 998 роботов. Сейчас ищут 672 программиста ...

Подсчитать колличество товаров после применения фильтра

Тема в разделе "MySQL", создана пользователем pautinaweb, 1 авг 2017.

  1. pautinaweb

    pautinaweb Активный пользователь

    С нами с:
    10 ноя 2008
    Сообщения:
    29
    Симпатии:
    1
    Необходимо посчитать количество товаров в каждой категории после выбора нескольких параметров.
    что то вроде того:

    • Силуэт
    • Бальные 3
    • Ампир 2
    • А-силуэт 1
    • Бренд
    • Наталья Романова 2
    • Gabbiano 4
    • Особенности
    • Для беременных 4
    • трансформер 5
    • кружевные 1
    Есть следующие таблицы

    [​IMG]


    После выбора фильтра делаю выборку так:
    PHP:
    1. SELECT DISTINCT product_id
    2. FROM `productparameter`
    3. WHERE `cat_id` = 1 AND parameter_id IN (4,7) AND `parameter_type` IN (1,3)
    4. GROUP BY product_id HAVING count(*) = 2
    Тут у нас выбрано два параметра Бренд и силует. Вроде всё нормально, а вот как вывести оставшиеся доступные параметры и посчитать количество, ну ни как не пойму.

    Если еще никаких параметров пользователь не выбрал то делаю так
    PHP:
    1. SELECT  p.`id`,p.`name`,p.`type`, COUNT(pp.`product_id`) AS `count`
    2.                       FROM `parameter` p
    3.                       INNER JOIN `productparameter` pp ON pp.`parameter_id` = p.`id`
    4.                       WHERE p.`cat` = 1
    5.                       GROUP BY pp.`parameter_id`
    Помогите пожалуйста продолжить условие, уже голову сломал. Заранее спасибо за ответ!