Необходимо сделать много фильтров для интернет магазина. Ну там по качеству, по размеру, по цвету и так далее. Как их построить и организовать. Я имею ввиду в базе. Используется mysql. Мысль есть сделать следующим образом: таблица filters и в ней создаю фильтр, например, color и значения чего: черный, красный, зеленый. Получается:
filter -таблица
color - поле, и в нем значения черный, красный, зеленый через запятую.
При добавлении товара видим этот фильтр с выбором этих цветов. И вот тут как записать к товару, чтобы привязать вывод этого фильтра и его значения? Товары в таблице items. Если мысль там сделать поле filter куда записывать id созданного фильтра. А вот само значение фильтра куда записывать? Help. Как лучше сделать? Гуглил.
Если вам нужно гибкое универсальное решение, то это будет хоть и сложно, но возможно.
Со стороны UI:
- Создается категория
- Для категории создаются разные типы фильтров
- Добавляются товары в категорию
- Все товары теперь имеют фильтры своей категории
После чего в каждом товаре заполняются данные фильтров: размер, вес, цвет и т.д.
Фильтры могут быть разных форматов: диапазон, значение, несколько значений и т.д. Так сразу все не вспомню. Можно сделать привязку фильтров как к категории, так и к товарам. Создали фильтр типа "значение", назвали его "color", привязали его к категории "обувь". После чего все товары в этой категории получили характеристику "color" которая индивидуально для каждого товара должна быть заполнена, и по которой будет идти фильтрация.
В общем это сложное решение, возможно вам нужно что-то проще.
Сделать свойства у товара(столбцы): цвет, фактура и т.д. Тогда простым SQL запросом получать данные.
Если речь идет о цветах одного товара, то сделать таблицу colors с полями id товара, значение
Или универсальный совет: не надо создавать велосипед. На рынке есть множество интернет магазинов. Как платных, так и бесплатных. Их "допилить" будет проще
я немного не понял ответа, но моя проблема в том, что мне нужно создавать фильтры с определенными значениями через админку, фильтров много, потом этот фильтр при добавлении товара привязывать к этому товару и выбранное значение этого фильтра. Но вот где записывать это значение лучше всего
мне кажется вы не в ту сторону мыслите. у ваших товаров должны быть свойства, как и указал Павел. и потом по этим свойствам вы можете фильтровать всё что душе угодно
Не до конца понимаю вашу проблему. Такое ощущение, что вы все делаете наоборот. Вам же фильтры нужно сделать по характеристикам товаров? Эти характеристики уже наверное как-то хранятся у вас в базе? Если хранятся, то их и нужно использовать, зачем к товару привязывать какой-то фильтр еще? Ваши данные о товарах должны храниться так, будто у вас нет никаких фильтров.
Вот у вас таблица Items что из себя представляет? Там уже есть в каком-либо виде характеристики товаров? Может быть они еще в каких-то таблицах?