![]() |
|
Модераторы: skyboy |
![]()
|
|
| isamitakta |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 12.1.2013 Репутация: нет Всего: нет |
Приветствую, появился вопрос по запросам.
Вот такая ситуация. Имеется таблица `товары` в ней находятся такие поля `тип`,`натуральность`,`цвет`,` страна` Например: `тип`,`натуральность`,`цвет`,` страна` Молоко, Натуральный, Белый, Россия Молоко, Натуральный, Белый Хлеб, Натуральный, Черный, Россия Колбаса, Соя, Красная, Россия Колбаса, Натуральный, Красная, США И т.д, вообщем таких записей достаточно и все они разные, молока может быть много с разными данными или каких то данных не хватает, например цвета. Выводим эти товары из базы. И теперь когда мы их вывели нам нужно получить цену, но чтобы цену не определять вручную, мы в админ панели сделали форму, в которой можно указать параметры товара. И получается у нас вторая табличка , `цены`. Она хранит в себе такие данные и имеет следующую структуру. `цены` `тип`,`натуральность`,`цвет`,` страна`, `цена` Например: Молоко, NULL , Белый, NULL , 10 Молоко, Натуральный, Белый, 15 NULL, Натуральный, Черный, NULL, 20 Колбаса, Соя, Красная, Россия, 5 Колбаса, Натуральный, NULL, США, 30 Колбаса, NULL, NULL, Россия, 50 Колбаса, Натуральный, NULL, Россия, 40 Выходит следующее, есть цены для колбасы которая натуральная и из США, ее цена 30, а вот есть просто запись колбаса из России, и для всей колбасы из России нам надо ставить цену 50, или колбаса натуральная из России, то цена 40. Вообщем вот так, сделать такое ценообразование. Как такое вообще можно реализовать? Помогите люди добрые =) |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
во второй таблице типа маски — если в каком-то поле NULL, то там подразумевается любое подходящее значение?
и чисто для себя — это откель такая странная логика ценообразования взялась? |
|||
|
||||
| tzirechnoy |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 3 Всего: 16 |
Сделай первичный ключ в первой таблицэ. Синтэтический, очевидно.
PS Это ужасно, то что Вы описали. По-моему то, что два разных товара могут иметь одинаковые записи в первой таблицэ -- это абсолютно очевидно. И то, что её надо немедленно нормализовать, поскольку так она вообще бесполезна -- тожэ. Добавлено через 1 минуту и 29 секунд Да, а зонтичные цэны я бы, наверное, просто в админке запросом обновлял. Хотя можно сделать, конечно атрибут "вес", и выбирать цэну с максимальным весом для товара. |
|||
|
||||
| skyboy |
|
||||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
попробовал погуглить по "зонтичные цены", но сходу ничего не нашел. не подскажешь, куда копать? обновлять через админку — отличная идея, если я правильно понял насчет "маски товаров".
и получится как с селекторами в CSS а еще можно выбирать все подходящие "множественные цены" через "параметр первой таблицы == параметр второго таблицы или NULL", а потом уже на стороне программы, работающей с результатом, выбирать запись с минимумом NULL'ов. Правда, как же коряво… |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |