За последние 24 часа нас посетили 56615 программистов и 1772 робота. Сейчас ищут 1006 программистов ...

Каталог товаров

Тема в разделе "Прочие вопросы по PHP", создана пользователем artem-Kuzmin, 1 окт 2012.

  1. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Думаю как лучше организовать базу для хранения товаров(одежды)...
    Знаю что выборки будут по размеру по цвету по цене по бренду и по категории и по наличию..
    У каждого товара может быть любое количество размеров и цветов то есть
    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
    Гм может я не тем путем пошел?
     
  2. Gold Dragon

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

    С нами с:
    30 сен 2012
    Сообщения:
    306
    Симпатии:
    2
    Адрес:
    Тамбов
    Как вариант сделать две таблицы.

    В одну забиваем основные характеристики
    id - идентификатор
    name - название
    cat - категория товара
    price - цена
    description - описание

    В другую забиваем расширенные характеристики
    id_product - идентификатор продукта
    type - тип характеристики
    type_name - название характеристики
    value - значение

    Вот во вторую таблицу можно пихать всё что угодно и сколько угодно
     
  3. d1gi

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

    С нами с:
    24 май 2009
    Сообщения:
    326
    Симпатии:
    0
    ага, не тем путём ;) надо еще учитывать, что товар, который накликает юзер нужно будет положить в корзинку, а это значиит что у каждого товара должен быть свой ID.

    с недельку назал проводил ревизию своей старой разработки "Юникат" на предмет именно такойже задачи :)) в общем суть заключается в том, что нужно будет в БД вносить все комбинации размеров, цветов, и т.д. а вот на самой странице просмотра некой коллекции или категориии, писать отдельный шаблон для отображения, который знает по каким критериям надо сгруппировать и какую цену отобразить... хотя шаблону будет приходить длинный список со всеми товарами из запрошенной категории :)

    немножко описания юниката можно почтать тут:
    Код (Text):
    1. http://smart-core.org/wiki/Компонент:_Юникат
     
  4. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Не совсем вы меня поняли) все это есть у каждого товара как аз таки есть свой id а группировка как раз по parent_id

    Добавлено спустя 53 минуты 42 секунды:
    Подумаю о таком)спс
     
  5. Gold Dragon

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

    С нами с:
    30 сен 2012
    Сообщения:
    306
    Симпатии:
    2
    Адрес:
    Тамбов
    artem-Kuzmin, можно вообще все характеристики вынести в третью таблицу (что кстати будет более правильны). И нужно это для того чтобы чётко знать какие характеристики есть вообще и к каким категория товара приемлемы.

    Т.е. есть категории "Одежда" и "Продукты".
    Есть характеристики "Размер", "Производитель" и "Вес"

    Так вот делаем третью таблицы
    ID - идентификатор характеристики
    ID_CAT - идентификатор категории
    NAME - название характеристики
    DES - описание

    Ну и таблицы категорий
    ID - идентификатор категории
    NAME - название
    DES - описание

    Вот данные по категориям
    1, Одежда, ...
    2, Продукты, ...

    А вот данные по характеристикам
    1, 1, Размер, ....
    2, 1#2, Производитель, ...
    2, 2, Вес, ....

    вот видим что Производитель применим для обеих категорий... Разделитель можно использовать любой :)
     
  6. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    такое у меня уде есть только сделал иначе для символьных данных одна таблица для чесловых характеристик другая) но выборка будет более медленная здесь такое использую для характеристик не участвующих в выборках..
    А вот вариант с выделением характеристик участвующих в выборках это думаю правильней)
     
  7. Gold Dragon

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

    С нами с:
    30 сен 2012
    Сообщения:
    306
    Симпатии:
    2
    Адрес:
    Тамбов
    поставь просто полю тип TEXT и используй его для любых значений (абсолютно для любых)
    И не нужно плодить лишние таблицы... При выборках аукнится
     
  8. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Вот именно при выборку аукнется) числа выбирает быстрей поэтому лучше числа к числам и текст ставить лишние это же характеристики для них varchar255
     
  9. Gold Dragon

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

    С нами с:
    30 сен 2012
    Сообщения:
    306
    Симпатии:
    2
    Адрес:
    Тамбов
    Ну это уже всё зависит от конкретных задач, вернее вообще как всё организовано :)

    PS
    главное иметь кучу вариантов :) чтоб было из чего выбрать