grafen
Новичок
Всем привет! Делаю каталог с фильтрами. Не могу отфильтровать.
Есть три таблицы:
- Продукты
- Фильтры
- Продукт-фильтр (связь)
Таблица "продукты":
id | name
1 | Овсянка
2 | Гречка
3 | Рис
Таблица "фильтры":
id | name
1 | 0.5кг
2 | 0.7кг
3 | 0.9кг
4 | Вкусно
5 | Не вкусно
6 | Гадость
Таблица "продукт-фильтр":
id | idproduct | idfilter
1 | 1 | 1
2 | 2 | 3
3 | 3 | 1
4 | 1 | 4
Как отфильтровать, что если вкусно и 0.5кг, то выведет Овсянку.
Если 0.5кг и гадость, то ничего не выведет.
Если только 0.5кг, то выведет овсянку и рис.
Если только 0.9кг, то выведет гречку.
Если 0.9кг и не вкусно, то ничего.
И так далее, логика здесь самая обычная.
Параметры принимаю из адресной строки, получаю массив id фильтров.
Количество фильтров может быть разное.
Помогите, я уже не понимаю.
p.s. Делал сначала, чтобы все фильтры для конкретного товара хранились в поле в виде: [4][55][2] и потом искать через LIKE, но сказали, что это не правильно, переделал всю систему на способ, который описал выше и вообще не могу справиться.
Очень жду любой помощи! Заранее спасибо!
Есть три таблицы:
- Продукты
- Фильтры
- Продукт-фильтр (связь)
Таблица "продукты":
id | name
1 | Овсянка
2 | Гречка
3 | Рис
Таблица "фильтры":
id | name
1 | 0.5кг
2 | 0.7кг
3 | 0.9кг
4 | Вкусно
5 | Не вкусно
6 | Гадость
Таблица "продукт-фильтр":
id | idproduct | idfilter
1 | 1 | 1
2 | 2 | 3
3 | 3 | 1
4 | 1 | 4
Как отфильтровать, что если вкусно и 0.5кг, то выведет Овсянку.
Если 0.5кг и гадость, то ничего не выведет.
Если только 0.5кг, то выведет овсянку и рис.
Если только 0.9кг, то выведет гречку.
Если 0.9кг и не вкусно, то ничего.
И так далее, логика здесь самая обычная.
Параметры принимаю из адресной строки, получаю массив id фильтров.
Количество фильтров может быть разное.
Помогите, я уже не понимаю.
p.s. Делал сначала, чтобы все фильтры для конкретного товара хранились в поле в виде: [4][55][2] и потом искать через LIKE, но сказали, что это не правильно, переделал всю систему на способ, который описал выше и вообще не могу справиться.
Очень жду любой помощи! Заранее спасибо!