Разумеется нет совершенно никакой привязки к html, это было упомянуто для лучшего понимания разработанной структуры бд. Реальные типы полей там varchar для всех полей кроме text, int и tinyint/bool для чекбокса, а уж визуализировать их хоть в html хоть во что угодно.
То что вы указали полностью соответствует структуре таблицы значений атрибутов - rows.
Соответственно, для "списков" (может быть заведен атрибут с ограниченным списком значений для выбора) пишется одно значение, для "множественного списка" — все выбранные пользователем значения через любой разделитель.
Для логического типа атрибута при добавлении товара либо ничего не записываем (не выбрано), либо записываем имя атрибута, либо true/false, 1/0 — что удобнее.
Все это прекрасно скармливается сфинксу для адекватного поиска по атрибутам.
Цитата:и джойны особо не нужны
Разумеется не нужны: для того и делали единую таблицу значений без гемороя, как у ТС. Речь шла о выборке для визуализации, например, страницы товара или формы добавления товара.
Цитата:посему делаю выборки отрибутов отдельными запросами - резко упрощает код
аналогично поступаю там, где выводится действительно небольшое количество "товаров" (у кого что) и всегда отдельный запрос для вывода атрибутов на отдельной странице товара (ибо и так там достаточно джоинов без атрибутов)
(Добавление)
Также при такой структуре потом встанет вопрос визуализации инструментов поиска по атрибутам.
К примеру:
2 варианта поиска:
а. простой
б. расширенный
Задача: пользователь должен иметь возможность искать вообще по любым атрибутам которые захочет администрация проекта.
Учитывая, что атрибутов по которым реально будут искать будет примерно 3-10 для каждой категории (исходил из того, что может быть до 20). И встает вопрос когда именно правильнее извлекать значения этих атрибутов?
То есть пользователь указал параметры быстрого поиска, выбрал категорию и потом перешел в расширенный поиск. Задача построить ему форму со всеми атрибутами категории участвующими в поиске.
Вот для последнего проекта прикинул, что в реально таких атрибутов будет порядка 100. Посему от аякса решил отказаться и просто держу в кэше лаконичный json со всеми этими атрибутами для всех категорий (он на самом деле не большой), что позволяет без дополнительных запросов показывать юзеру расширенную форму поиска.
Как вы поступили, если была задача делать поиск по любым атрибутам,
caballero?