Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Структура БД для каталога товаров
Покинул форум
Сообщений всего: 9
Дата рег-ции: Окт. 2013
Помог: 0 раз(а)
Всем привет, нужна помощь в проектировании БД для каталога товаров. Суть в том, что у каждого товара может быть неограниченное кол-во разных параметров (Цвет, Размер и т.д.). С этим проблем нет, но у каждой комбинации параметров может быть своя цена, наличие, кол-во.
Например:
Товар - Цвет (Красный) - Размер (XL) = Цена (100), На складе (10)
Товар - Цвет (Синий) - Размер (XL) = Цена (90), На складе (8)
Товар - Цвет (Синий) - Размер (L) = Цена (80), На складе (2)
и т.д.
В то же время может быть товар без параметров, либо с одинаковой ценой у всех комбинаций. Обдумывал разные способы реализации, но все равно чувствую, что запутываюсь. Может подскажите более оптимальное решение.
Пока у меня такой вариант:
Создал таблицу для цен, в ней хранятся цены/кол-во всех комбинаций параметров товара:
`ctproductprices`
`ctproductprice_id` int(11) NOT NULL AUTO_INCREMENT,
`ctproductprice_price` float(12,2) NOT NULL,
`ctproductprice_presence` tinyint(1) NOT NULL DEFAULT '1',
`ctproductprice_count` int(11) NOT NULL DEFAULT '0',
`ctproduct_id` int(11) NOT NULL,
При создании цены выбираем параметры товара, они сохраняются в отдельной таблице:
`ctproductpriceparamvalues`
`ctproductprice_id` int(11) NOT NULL,
`ctproductparamvalue_id` int(11) NOT NULL
Т.е. для каждой комбинации параметров получается своя цена. Но что будет, если добавим новый параметр у товара? Напр. "Объем". У товара есть цены для комбинаций параметров "Цвет", "Размер",.. А нужно теперь еще и для объема.. И тут я начинаю запутываться и думаю, что что-то я делаю не так...
Покинул форум
Сообщений всего: 9
Дата рег-ции: Окт. 2013
Помог: 0 раз(а)
caballero пишет:
не надо вообще смешивать параметры и цены
разные параметры и цены - это разные товары
Лучше создать кучу дублей одного товара? Только разного цвета, размера и т.д. Ведь это один товар, у него один код, описание, изображения и т.д. Просто в зависимости от параметров меняется цена. (Добавление)
Может по сути это и является разными товарами, но для конечного пользователя удобней зайти на одну страницу товара, выбрать цвет и т.д. и нажать кнопку "Купить"..
caballero
Отправлено: 14 Октября, 2013 - 18:02:10
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
Лучше создать кучу дублей одного товара? Только разного цвета, размера и т.д. Ведь это один товар, у него один код, описание, изображения и т.д.
Это разные товары с разным артикулом
Цитата:
но для конечного пользователя удобней зайти на одну страницу товара, выбрать цвет и т.д. и нажать кнопку "Купить"..
посмотри как устроено большинство инетмагазинов
никто не дает никакого выбора цвета. Потому как товары отличающиеся только цветом это разве что мобильники и то небольшое количество моделей
никто изза этого не станет усложнять функционал магазина и товарный учет
Покинул форум
Сообщений всего: 9
Дата рег-ции: Окт. 2013
Помог: 0 раз(а)
caballero пишет:
Это разные товары с разным артикулом
Нет, это один товар. Возьмем для примера одежду (Футболка), может быть разного размера, цвета,. Ведь это один товар, но чем больше размер, тем больше цена.
caballero пишет:
посмотри как устроено большинство инетмагазинов
никто не дает никакого выбора цвета.
погуглил интернет магазины одежды - везде есть выбор цвета, размера
esterio
Отправлено: 14 Октября, 2013 - 18:20:40
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
для пользщователя ето один и тот же товар, но для системы они разные, просто входят в одну групу (Добавление)
black_ice пишет:
погуглил интернет магазины одежды - везде есть выбор цвета, размера
Вы не судите код по GUI. Взгляните на гитхаб в сорсы
caballero
Отправлено: 14 Октября, 2013 - 18:27:25
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
Нет, это один товар. Возьмем для примера одежду (Футболка), может быть разного размера, цвета,. Ведь это один товар, но чем больше размер, тем больше цена.
не один
спроси любого товарника
Цитата:
погуглил интернет магазины одежды - везде есть выбор цвета, размера
если делать узкоспециализированое решение под конкретный магазин то конечно можно так сделать.
но есть больше смысла делать решение более универсальное. пользователь может отобрать размер и цвет в фильтре поиска и точно так же получить нужный ему товар.
но при этом реализация как магазина так и товарного учета будет намного проще.
Покинул форум
Сообщений всего: 9
Дата рег-ции: Окт. 2013
Помог: 0 раз(а)
esterio пишет:
Вы не судите код по GUI. Взгляните на гитхаб в сорсы
Можно ссылку на реализацию подобного каталога на гитхабе? (Добавление)
caballero пишет:
но есть больше смысла делать решение более универсальное. пользователь может отобрать размер и цвет в фильтре поиска и точно так же получить нужный ему товар.
но при этом реализация как магазина так и товарного учета будет намного проще.
Я и хочу найти универсальное решение, но также не хочется создавать дубли товаров просто потому что товары разного цвета. (А комбинаций размеров, цветов и др. параметров может быть сотни).. Создавать сотни одинаковых товаров?
esterio
Отправлено: 14 Октября, 2013 - 18:46:05
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
OpenCart немного не то. Там задается разница от основной цены http://prntscr[dot]com/1xa5ux + только для одного параметра. Т.е. параметр "Красный" - цена +4$ . А мне нужно задавать цену для комбинаций параметров т.е. напр.: Цвет "Красный" , Размер "XL" - цена одна, и кол-во одно. А Цвет "Красный" , Размер "L" - уже другая цена, и кол-во тоже другое. Кол-во параметров разное у каждого товара,.
esterio
Отправлено: 14 Октября, 2013 - 19:43:34
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
Вам не угодиш. Вы не видите дальше своего носа. Я сказал посмотреть существующие инет-магазины, вы попросили ссилку, я вам дал и Вы говорите что ето не то!!!! Я и не говорил что ето то что Вам нужно. Вы походу код читать не умеете. Извините но другого варианта пока-что у меня нет.
black_ice
Отправлено: 14 Октября, 2013 - 19:53:01
Новичок
Покинул форум
Сообщений всего: 9
Дата рег-ции: Окт. 2013
Помог: 0 раз(а)
esterio пишет:
Вам не угодиш. Вы не видите дальше своего носа. Я сказал посмотреть существующие инет-магазины, вы попросили ссилку, я вам дал и Вы говорите что ето не то!!!! Я и не говорил что ето то что Вам нужно. Вы походу код читать не умеете. Извините но другого варианта пока-что у меня нет.
Если бы я нашел интернет магазин с подобным функционалом, я бы не создавал эту тему на форуме.
black_ice пишет:
Взгляните на гитхаб в сорсы
Я думал, что у Вас есть ссылка на сорс подобного каталога, поэтому и спросил ссылку. Я такого функционала не нашел. OpenCart я уже рассматривал, и там совсем не то что мне нужно.
caballero
Отправлено: 14 Октября, 2013 - 19:55:22
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
никто не делает каталоги товаров по комбинациям параметров. Даже в инет магазинах одежды. Там просто группируют товары перед показом пользователю. А потом по выбранному ищут товар в БД где он отдельной записью со своим артикулом..
Впрочем технически не проблема сделать и так как вы хотите - создается таблица с полями товар, размер, цена, цвет. А дальше уже какие угодно комбинации.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.