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 :: Структура БД для каталога товаров

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Нужна помощь в проектировании БД,.
black_ice
Отправлено: 14 Октября, 2013 - 13:06:45
Post Id


Новичок


Покинул форум
Сообщений всего: 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

Т.е. для каждой комбинации параметров получается своя цена. Но что будет, если добавим новый параметр у товара? Напр. "Объем". У товара есть цены для комбинаций параметров "Цвет", "Размер",.. А нужно теперь еще и для объема.. И тут я начинаю запутываться и думаю, что что-то я делаю не так...

(Отредактировано автором: 14 Октября, 2013 - 13:18:27)

 
 Top
imya
Отправлено: 14 Октября, 2013 - 13:09:30
Post Id



Участник


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Сент. 2012  
Откуда: Запорожье, Украина


Помог: 19 раз(а)






-----
PHP:
скопировать код в буфер обмена
  1. do {box != cat;} while (cat != box);


Когда нормальный человек, уезжая из дома одевает на жену пояс верности, веб-дизайнер ставит на нее счетчик...
 
My status
 Top
black_ice
Отправлено: 14 Октября, 2013 - 14:04:22
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




imya пишет:
http://forum.php.su/topic.php?forum=28&topic=5211


Ничего я в этой теме не нашел по поводу разных цен для разных комбинаций параметров.
 
 Top
caballero
Отправлено: 14 Октября, 2013 - 16:13:37
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




не надо вообще смешивать параметры и цены
разные параметры и цены - это разные товары


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
black_ice
Отправлено: 14 Октября, 2013 - 17:24:17
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




caballero пишет:
не надо вообще смешивать параметры и цены
разные параметры и цены - это разные товары


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


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
Лучше создать кучу дублей одного товара? Только разного цвета, размера и т.д. Ведь это один товар, у него один код, описание, изображения и т.д.


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

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

посмотри как устроено большинство инетмагазинов
никто не дает никакого выбора цвета. Потому как товары отличающиеся только цветом это разве что мобильники и то небольшое количество моделей
никто изза этого не станет усложнять функционал магазина и товарный учет


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
black_ice
Отправлено: 14 Октября, 2013 - 18:19:37
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




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


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

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


погуглил интернет магазины одежды - везде есть выбор цвета, размера
 
 Top
esterio
Отправлено: 14 Октября, 2013 - 18:20:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




для пользщователя ето один и тот же товар, но для системы они разные, просто входят в одну групу
(Добавление)
black_ice пишет:
погуглил интернет магазины одежды - везде есть выбор цвета, размера

Вы не судите код по GUI. Взгляните на гитхаб в сорсы
 
 Top
caballero
Отправлено: 14 Октября, 2013 - 18:27:25
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




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

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

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

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

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


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
black_ice
Отправлено: 14 Октября, 2013 - 18:33:34
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




esterio пишет:
Вы не судите код по GUI. Взгляните на гитхаб в сорсы


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


Я и хочу найти универсальное решение, но также не хочется создавать дубли товаров просто потому что товары разного цвета. (А комбинаций размеров, цветов и др. параметров может быть сотни).. Создавать сотни одинаковых товаров?
 
 Top
esterio
Отправлено: 14 Октября, 2013 - 18:46:05
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




 
 Top
black_ice
Отправлено: 14 Октября, 2013 - 19:12:28
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




esterio пишет:
https://github[dot]com/opencart/open[dot][dot][dot]ee/master/upload


OpenCart немного не то. Там задается разница от основной цены http://prntscr[dot]com/1xa5ux + только для одного параметра. Т.е. параметр "Красный" - цена +4$ . А мне нужно задавать цену для комбинаций параметров т.е. напр.: Цвет "Красный" , Размер "XL" - цена одна, и кол-во одно. А Цвет "Красный" , Размер "L" - уже другая цена, и кол-во тоже другое. Кол-во параметров разное у каждого товара,.
 
 Top
esterio
Отправлено: 14 Октября, 2013 - 19:43:34
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Вам не угодиш. Вы не видите дальше своего носа. Я сказал посмотреть существующие инет-магазины, вы попросили ссилку, я вам дал и Вы говорите что ето не то!!!! Я и не говорил что ето то что Вам нужно. Вы походу код читать не умеете. Извините но другого варианта пока-что у меня нет.
 
 Top
black_ice
Отправлено: 14 Октября, 2013 - 19:53:01
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




esterio пишет:
Вам не угодиш. Вы не видите дальше своего носа. Я сказал посмотреть существующие инет-магазины, вы попросили ссилку, я вам дал и Вы говорите что ето не то!!!! Я и не говорил что ето то что Вам нужно. Вы походу код читать не умеете. Извините но другого варианта пока-что у меня нет.


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

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


Я думал, что у Вас есть ссылка на сорс подобного каталога, поэтому и спросил ссылку. Я такого функционала не нашел. OpenCart я уже рассматривал, и там совсем не то что мне нужно.
 
 Top
caballero
Отправлено: 14 Октября, 2013 - 19:55:22
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




никто не делает каталоги товаров по комбинациям параметров. Даже в инет магазинах одежды. Там просто группируют товары перед показом пользователю. А потом по выбранному ищут товар в БД где он отдельной записью со своим артикулом..

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


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB