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
Форумы портала PHP.SU :: Версия для печати :: Структура БД для каталога товаров
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » Структура БД для каталога товаров

Страниц (2): [1] 2 »
 

1. black_ice - 14 Октября, 2013 - 13:06:45 - перейти к сообщению
Всем привет, нужна помощь в проектировании БД для каталога товаров. Суть в том, что у каждого товара может быть неограниченное кол-во разных параметров (Цвет, Размер и т.д.). С этим проблем нет, но у каждой комбинации параметров может быть своя цена, наличие, кол-во.

Например:
Товар - Цвет (Красный) - Размер (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

Т.е. для каждой комбинации параметров получается своя цена. Но что будет, если добавим новый параметр у товара? Напр. "Объем". У товара есть цены для комбинаций параметров "Цвет", "Размер",.. А нужно теперь еще и для объема.. И тут я начинаю запутываться и думаю, что что-то я делаю не так...
3. black_ice - 14 Октября, 2013 - 14:04:22 - перейти к сообщению
imya пишет:
http://forum.php.su/topic.php?forum=28&topic=5211


Ничего я в этой теме не нашел по поводу разных цен для разных комбинаций параметров.
4. caballero - 14 Октября, 2013 - 16:13:37 - перейти к сообщению
не надо вообще смешивать параметры и цены
разные параметры и цены - это разные товары
5. black_ice - 14 Октября, 2013 - 17:24:17 - перейти к сообщению
caballero пишет:
не надо вообще смешивать параметры и цены
разные параметры и цены - это разные товары


Лучше создать кучу дублей одного товара? Только разного цвета, размера и т.д. Ведь это один товар, у него один код, описание, изображения и т.д. Просто в зависимости от параметров меняется цена.
(Добавление)
Может по сути это и является разными товарами, но для конечного пользователя удобней зайти на одну страницу товара, выбрать цвет и т.д. и нажать кнопку "Купить"..
6. caballero - 14 Октября, 2013 - 18:02:10 - перейти к сообщению
Цитата:
Лучше создать кучу дублей одного товара? Только разного цвета, размера и т.д. Ведь это один товар, у него один код, описание, изображения и т.д.


Это разные товары с разным артикулом

Цитата:
но для конечного пользователя удобней зайти на одну страницу товара, выбрать цвет и т.д. и нажать кнопку "Купить"..

посмотри как устроено большинство инетмагазинов
никто не дает никакого выбора цвета. Потому как товары отличающиеся только цветом это разве что мобильники и то небольшое количество моделей
никто изза этого не станет усложнять функционал магазина и товарный учет
7. black_ice - 14 Октября, 2013 - 18:19:37 - перейти к сообщению
caballero пишет:
Это разные товары с разным артикулом


Нет, это один товар. Возьмем для примера одежду (Футболка), может быть разного размера, цвета,. Ведь это один товар, но чем больше размер, тем больше цена.

caballero пишет:
посмотри как устроено большинство инетмагазинов
никто не дает никакого выбора цвета.


погуглил интернет магазины одежды - везде есть выбор цвета, размера
8. esterio - 14 Октября, 2013 - 18:20:40 - перейти к сообщению
для пользщователя ето один и тот же товар, но для системы они разные, просто входят в одну групу
(Добавление)
black_ice пишет:
погуглил интернет магазины одежды - везде есть выбор цвета, размера

Вы не судите код по GUI. Взгляните на гитхаб в сорсы
9. caballero - 14 Октября, 2013 - 18:27:25 - перейти к сообщению
Цитата:
Нет, это один товар. Возьмем для примера одежду (Футболка), может быть разного размера, цвета,. Ведь это один товар, но чем больше размер, тем больше цена.

не один
спроси любого товарника

Цитата:
погуглил интернет магазины одежды - везде есть выбор цвета, размера

если делать узкоспециализированое решение под конкретный магазин то конечно можно так сделать.

но есть больше смысла делать решение более универсальное. пользователь может отобрать размер и цвет в фильтре поиска и точно так же получить нужный ему товар.
но при этом реализация как магазина так и товарного учета будет намного проще.
10. black_ice - 14 Октября, 2013 - 18:33:34 - перейти к сообщению
esterio пишет:
Вы не судите код по GUI. Взгляните на гитхаб в сорсы


Можно ссылку на реализацию подобного каталога на гитхабе?
(Добавление)
caballero пишет:
но есть больше смысла делать решение более универсальное. пользователь может отобрать размер и цвет в фильтре поиска и точно так же получить нужный ему товар.
но при этом реализация как магазина так и товарного учета будет намного проще.


Я и хочу найти универсальное решение, но также не хочется создавать дубли товаров просто потому что товары разного цвета. (А комбинаций размеров, цветов и др. параметров может быть сотни).. Создавать сотни одинаковых товаров?
12. black_ice - 14 Октября, 2013 - 19:12:28 - перейти к сообщению
esterio пишет:
https://github[dot]com/opencart/open[dot][dot][dot]ee/master/upload


OpenCart немного не то. Там задается разница от основной цены http://prntscr[dot]com/1xa5ux + только для одного параметра. Т.е. параметр "Красный" - цена +4$ . А мне нужно задавать цену для комбинаций параметров т.е. напр.: Цвет "Красный" , Размер "XL" - цена одна, и кол-во одно. А Цвет "Красный" , Размер "L" - уже другая цена, и кол-во тоже другое. Кол-во параметров разное у каждого товара,.
13. esterio - 14 Октября, 2013 - 19:43:34 - перейти к сообщению
Вам не угодиш. Вы не видите дальше своего носа. Я сказал посмотреть существующие инет-магазины, вы попросили ссилку, я вам дал и Вы говорите что ето не то!!!! Я и не говорил что ето то что Вам нужно. Вы походу код читать не умеете. Извините но другого варианта пока-что у меня нет.
14. black_ice - 14 Октября, 2013 - 19:53:01 - перейти к сообщению
esterio пишет:
Вам не угодиш. Вы не видите дальше своего носа. Я сказал посмотреть существующие инет-магазины, вы попросили ссилку, я вам дал и Вы говорите что ето не то!!!! Я и не говорил что ето то что Вам нужно. Вы походу код читать не умеете. Извините но другого варианта пока-что у меня нет.


Если бы я нашел интернет магазин с подобным функционалом, я бы не создавал эту тему на форуме.

black_ice пишет:
Взгляните на гитхаб в сорсы


Я думал, что у Вас есть ссылка на сорс подобного каталога, поэтому и спросил ссылку. Я такого функционала не нашел. OpenCart я уже рассматривал, и там совсем не то что мне нужно.
15. caballero - 14 Октября, 2013 - 19:55:22 - перейти к сообщению
никто не делает каталоги товаров по комбинациям параметров. Даже в инет магазинах одежды. Там просто группируют товары перед показом пользователю. А потом по выбранному ищут товар в БД где он отдельной записью со своим артикулом..

Впрочем технически не проблема сделать и так как вы хотите - создается таблица с полями товар, размер, цена, цвет. А дальше уже какие угодно комбинации.

 

Powered by ExBB FM 1.0 RC1