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 :: База с кучей параметров. Как реализовать?
Покинул форум
Сообщений всего: 33
Дата рег-ции: Март 2013
Помог: 0 раз(а)
Приветствую всех!
Столкнулся с такой штукой. Нужно сделать базу товаров с кучей параметров.
Товары могут быть совершенно разными от зубной щетки до вертолета. Соответственно параметров еще больше от длинны и плотности ворсинок до крутящего момента двигателя и предельной нагрузки на ось. + нужна возможность поиска по параметрам.
Может у кого есть догадки как это реализовано на Я.маркете (http://market.yandex.ru/guru.xml?CMD=-RR=9,0,0,0-VIS=70-CAT_ID=432460-EXF=1-EXC=1-PG=10&hid=91013) тут куча параметров для поиска.
Боюсь что делать таблицу с тысячей столбцов не вариант.
У кого какие есть соображения на этот счет.
alexiy
Отправлено: 18 Мая, 2013 - 10:23:56
Посетитель
Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011
Помог: 6 раз(а)
можно например разбивать товары на категории
VoVladey
Отправлено: 18 Мая, 2013 - 10:30:36
Новичок
Покинул форум
Сообщений всего: 33
Дата рег-ции: Март 2013
Помог: 0 раз(а)
Я тоже об этом думаю, только в ссылке которую я дал более 120 параметров у которых есть подробное описание из еще нескольких пунктов (свойства параметра) типа "Частота системной шины" (1066 МГц - 400 МГц - 533 МГц - 667 МГц - 800 МГц) и если я правильно понимаю, то все они могут принимать значение 1/0 неужели это все напилино на в базу???
DeepVarvar
Отправлено: 18 Мая, 2013 - 12:28:10
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Делаешь таблицу характеристик properties, где:
id - айдишник характеристики name - название характеристики
Затем делаешь таблицу значений характеристик property_values, где:
property_id - айдишник характеристики entry_id - айдишник товара, к которому она относится property_value - значение характеристики
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
caballero пишет:
характеристики лучше к категории привязывать
"От зубной щетки до вертолета" - не очень красиво будет, сколько ты типов товаров налепишь таким макаром?
Или тип будет один, но с огромным полотнищем инпутов для ввода данных.
caballero пишет:
вынсить в отдельные характеристики есть смысл те по которым идет отбор остальные просто в описании прописать
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
"От зубной щетки до вертолета" - не очень красиво будет, сколько ты типов товаров налепишь таким макаром?
Или тип будет один, но с огромным полотнищем инпутов для ввода данных.
в реальности очень мало магазинов торгующих таким асортиментом
по остальным получается не так уж много категорий
собственно одинаковый набор свойств и есть категория
я делаю еще хитрее - свойства наследуются от родительских категорий до к дечерним.
например Бытовая техника привязана к свойствам Вес, цвет, габариты - то что общее для всей техники. а холодильники и стиралки уже имеют свои свойства
а когда редактируется товар - в редакторе уже показывается весь список
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
caballero пишет:
собственно одинаковый набор свойств и есть категория
Да, но для классического "нехитрого" каталога я предложил верный вариант.
Кроме того он подходит и для огромного ассортимента.
Кроме того он подходит и к моему велосипеду.
caballero пишет:
свойства наследуются от родительских категорий до к дечерним
Увы, я снова упомяну Яндекс.Маркет, который никак не желает сотрудничать с "иерархией" и порядком следования информационных полей.
Покинул форум
Сообщений всего: 33
Дата рег-ции: Март 2013
Помог: 0 раз(а)
ГОСПОДА!
Тема не раскрыта, а мозг у меня уже тупит дико.
Чувствую что это можно сделать элементарно и просто, но все куда-то не туда ухожу...
Попробую описать подробнее задачу...
Человек добавляет первый товар Допустим автомобиль.
У автомобиля есть такие характеристики как
1. тип двигателя (бензин, дизель, гибрид) выбирается из списка select
2. ABS выбирается просто через checkbox (1/0)
3. объем двигателя вводится в input text
В целом на автомобиль приходится около 150 характеристик, на компьютер можно накавырять около 400, и т.д. то есть в одну таблицу их сунуть просто нереально.
я это вижу пока так:
есть таблица категорий (авто, комп, фото, вело, мото, шмотки...)
есть таблица характеристик (разбег, пробег, цвет, вес, запах...)
и есть таблица товар с полем `feature` куда добавляются все использованные характеристики.
а уже при выводе из поля `feature` работает preg_replace который подменяет "Двигатель 3.0 л." на "Двигатель: <input type='text' name='motor' value='3.0'> л."
Вот сижу и думаю насколько это адекватный способ????
DeepVarvar
Отправлено: 18 Мая, 2013 - 15:39:03
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Я показал адекватный способ.
Далее мы с caballero поболтали о своем, твоей задачи это пока мало касается.
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
Чувствую что это можно сделать элементарно и просто, но все куда-то не туда ухожу...
может таки почитаешь что тебе пишут?
Цитата:
Тема не раскрыта
раскрыта достаточно
Цитата:
В целом на автомобиль приходится около 150 характеристик, на компьютер можно накавырять около 400, и т.д
кто вообще станет читать все эти характеристики?
и откуда на компьюьер 400 характеристик? вместе с количеством выводов микросхем и длиной соединительных проводов?
Цитата:
и есть таблица товар с полем `feature` куда добавляются все использованные характеристики.
в одно поле? а на фига тогда таблица характеристик?
Цитата:
а уже при выводе из поля `feature` работает preg_replace который подменяет "Двигатель 3.0 л." на "Двигатель: <input type='text' name='motor' value='3.0'> л."
Покинул форум
Сообщений всего: 33
Дата рег-ции: Март 2013
Помог: 0 раз(а)
caballero,
1. количество характеристик я привожу в целом к примеру.
Есть основные характеристики, если мы говорим о ноутбуках то появляется вес, диагональ, время работы на батарейке и пр, если взять планшеты, там могут быть GSM, GPS, синийзуб, не забываем про сетевые карты (скорость), винты (скорость, кэш), сервера 1U и прочее, аксессуары это вообще улет, насчет 400 я конечно загнул, но в целом их много...
2. в таблице хранятся константы, название, ед.изм., возможные варианты. а в строки таблицы "товар" записывается название товара, наличие на складе и пр.
3. preg_replace на каждую характеристику?
Ага, тока массивом жахнуть, из тех же БД.
caballero
Отправлено: 18 Мая, 2013 - 16:03:51
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
так в чем проблемма сделать как предложено - связать товар с характеристикой и задать для этой связки значение
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.