Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Формирование цены 
:(
    Опции темы
isamitakta
Дата 12.1.2013, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 12.1.2013

Репутация: нет
Всего: нет



Приветствую, появился вопрос по запросам. 

Вот такая ситуация.

Имеется таблица `товары`

в ней находятся такие поля

`тип`,`натуральность`,`цвет`,` страна`

Например: 

`тип`,`натуральность`,`цвет`,` страна`

Молоко, Натуральный, Белый, Россия
Молоко, Натуральный, Белый
Хлеб, Натуральный, Черный, Россия
Колбаса, Соя, Красная, Россия
Колбаса, Натуральный, Красная, США

И т.д, вообщем таких записей достаточно и все они разные, молока может быть много с разными данными или каких то данных не хватает, например цвета.

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

И получается у нас вторая табличка , `цены`.

Она хранит в себе такие данные и имеет следующую структуру.

`цены`
`тип`,`натуральность`,`цвет`,` страна`, `цена`

Например:

Молоко, NULL , Белый, NULL , 10
Молоко, Натуральный, Белый, 15
NULL, Натуральный, Черный, NULL, 20
Колбаса, Соя, Красная, Россия, 5
Колбаса, Натуральный, NULL, США, 30
Колбаса, NULL, NULL, Россия, 50
Колбаса, Натуральный, NULL, Россия, 40

Выходит следующее, есть цены для колбасы которая натуральная и из США, ее цена 30, а вот есть просто запись колбаса из России, и для всей колбасы из России нам надо ставить цену 50, или колбаса натуральная из России, то цена 40. 

Вообщем вот так, сделать такое ценообразование. Как такое вообще можно реализовать? Помогите люди добрые =)
PM MAIL   Вверх
skyboy
Дата 12.1.2013, 02:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



во второй таблице типа маски — если в каком-то поле NULL, то там подразумевается любое подходящее значение?
и чисто для себя — это откель такая странная логика ценообразования взялась?
PM MAIL   Вверх
tzirechnoy
Дата 12.1.2013, 11:59 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 3
Всего: 16



Сделай первичный ключ в первой таблицэ. Синтэтический, очевидно.
PS Это ужасно, то что Вы описали. По-моему то, что два разных товара могут иметь одинаковые записи в первой таблицэ -- это абсолютно очевидно. И то, что её надо немедленно нормализовать, поскольку так она вообще бесполезна -- тожэ.

Добавлено через 1 минуту и 29 секунд
Да, а зонтичные цэны я бы, наверное, просто в админке запросом обновлял. Хотя можно сделать, конечно атрибут "вес", и выбирать цэну с максимальным весом для товара.
PM MAIL   Вверх
skyboy
Дата 12.1.2013, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



Цитата(tzirechnoy @  12.1.2013,  10:59 Найти цитируемый пост)
Да, а зонтичные цэны я бы, наверное, просто в админке запросом обновлял. 

попробовал погуглить по "зонтичные цены", но сходу ничего не нашел. не подскажешь, куда копать?
обновлять через админку — отличная идея, если я правильно понял насчет "маски товаров".
Цитата(tzirechnoy @  12.1.2013,  10:59 Найти цитируемый пост)
Хотя можно сделать, конечно атрибут "вес", и выбирать цэну с максимальным весом для товара. 

и получится как с селекторами в CSS smile
а еще можно выбирать все подходящие "множественные цены" через "параметр первой таблицы == параметр второго таблицы или NULL", а потом уже на стороне программы, работающей с результатом, выбирать запись с минимумом NULL'ов. Правда, как же коряво…
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0449 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.