Думаю как лучше организовать базу для хранения товаров(одежды)... Знаю что выборки будут по размеру по цвету по цене по бренду и по категории и по наличию.. У каждого товара может быть любое количество размеров и цветов то есть XL->red , XL->green,L->red,L->blue и это к одному товару... Пример http://www.asos.com/Women/Accessories/Cat/pgecategory.aspx?cid=4174 Решил это реализовать через parent_id то есть первый экземпляр товара с определенным цветом и размером выбирается как родитель а другие размеры и цвета записывают к себе его id в parent_id И впал пока в некий ступор Если буду делать выборки к примеру по цвету color = 1 то он выберет не то что надо при запросе SELRCT COUNT Гм может я не тем путем пошел?
Как вариант сделать две таблицы. В одну забиваем основные характеристики id - идентификатор name - название cat - категория товара price - цена description - описание В другую забиваем расширенные характеристики id_product - идентификатор продукта type - тип характеристики type_name - название характеристики value - значение Вот во вторую таблицу можно пихать всё что угодно и сколько угодно
ага, не тем путём надо еще учитывать, что товар, который накликает юзер нужно будет положить в корзинку, а это значиит что у каждого товара должен быть свой ID. с недельку назал проводил ревизию своей старой разработки "Юникат" на предмет именно такойже задачи ) в общем суть заключается в том, что нужно будет в БД вносить все комбинации размеров, цветов, и т.д. а вот на самой странице просмотра некой коллекции или категориии, писать отдельный шаблон для отображения, который знает по каким критериям надо сгруппировать и какую цену отобразить... хотя шаблону будет приходить длинный список со всеми товарами из запрошенной категории немножко описания юниката можно почтать тут: Код (Text): http://smart-core.org/wiki/Компонент:_Юникат
Не совсем вы меня поняли) все это есть у каждого товара как аз таки есть свой id а группировка как раз по parent_id Добавлено спустя 53 минуты 42 секунды: Подумаю о таком)спс
artem-Kuzmin, можно вообще все характеристики вынести в третью таблицу (что кстати будет более правильны). И нужно это для того чтобы чётко знать какие характеристики есть вообще и к каким категория товара приемлемы. Т.е. есть категории "Одежда" и "Продукты". Есть характеристики "Размер", "Производитель" и "Вес" Так вот делаем третью таблицы ID - идентификатор характеристики ID_CAT - идентификатор категории NAME - название характеристики DES - описание Ну и таблицы категорий ID - идентификатор категории NAME - название DES - описание Вот данные по категориям 1, Одежда, ... 2, Продукты, ... А вот данные по характеристикам 1, 1, Размер, .... 2, 1#2, Производитель, ... 2, 2, Вес, .... вот видим что Производитель применим для обеих категорий... Разделитель можно использовать любой
такое у меня уде есть только сделал иначе для символьных данных одна таблица для чесловых характеристик другая) но выборка будет более медленная здесь такое использую для характеристик не участвующих в выборках.. А вот вариант с выделением характеристик участвующих в выборках это думаю правильней)
поставь просто полю тип TEXT и используй его для любых значений (абсолютно для любых) И не нужно плодить лишние таблицы... При выборках аукнится
Вот именно при выборку аукнется) числа выбирает быстрей поэтому лучше числа к числам и текст ставить лишние это же характеристики для них varchar255
Ну это уже всё зависит от конкретных задач, вернее вообще как всё организовано PS главное иметь кучу вариантов чтоб было из чего выбрать