![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| batek |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 22.2.2006 Репутация: нет Всего: нет |
Задача которую я немогу осуществить:На некотором сайте имеются некоторые товары под каждым из которых располагается кнопочка найти аналоги при нажатии на которую модуль должен вывести от 1 до 5 аналогов или сказать что аналогов нет. База данных к которой конектится модуль состоит из следующих полей id(ид номер товара),
marka(название), group1(группа),param1,..,param32(параметры от 1 до 32),cost(цена). Если кто знает как сделать напишите пожалуйста. |
|||
|
||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 17 Всего: 69 |
Ты должен знать, что содержится в остальных полях. По полям, которые ты дал, нельзя определить аналоги.
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| batek |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 22.2.2006 Репутация: нет Всего: нет |
-=Ustas=- надо проверять по параметрам выделить или как то пометить какой параметр нужно проверять первым, какой вторым и так далее если в результате вывелось >5 аналогов то уже проверять по цене в пределах от (cost-n) до (cost+n)
|
|||
|
||||
| CTAPbIuMABP |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 17.2.2006 Где: Киев Репутация: -1 Всего: 1 |
|
|||
|
||||
| batek |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 22.2.2006 Репутация: нет Всего: нет |
CTAPbIuMABP не не так он тут тока по цене смотрит
|
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 4 Всего: 73 |
Предлагаю несколько переделать вариант CTAPbIuMABP, но идея думаю ясна. Это самое простое решение.
Только диапазон нужно брать конкретно 2 менее текущего ID и два более текущего ID. Единственное, так всегда будет что-то выводиться. Поэтому можно сделать еще сравнение по полям в самом РНР. К примеру, если больше 50% полей совпадают данными с тем, что имеется у товара, тогда выводим, если менее 50% совпадений, не выводим. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 17 Всего: 69 |
Это уже будет совсем не аналогичность товаров. Скорее всего, насколько я могу предполагать, скорее всего у товара есть поля с его описанием, предназначение и т.д., т.е. полная информация о товаре. Вот в эту сторону и надо копать, даже точнее в сторону полнотекстового поиска по информации из текущего товара. В полнотекстовом поиске есть такая фишка, как извлекать величины релевантности в явном виде по совпадениям (плюс, еще придется использовать логический режим), вот тут-то и надо выдирать релевантность и решать, анологичен ли товар или нет. Т.е. одним словом, нужно определять и сверять по полям с полной информацией о товаре. -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| batek |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 22.2.2006 Репутация: нет Всего: нет |
Параметры такие:
Производитель: LG Корея (param1) Гарантия: 36 месяцев (param2) Стандарт: GSM 900/1800 (param3) Размер: 105х44х16 мм (.....) Вес: 73 грамм Батарея: Li-Ion 780 мАч Время работы в режиме ожидания: до 200 час. Время работы в режиме разговора: до 3 час. Дисплей: Цветной. 65000 цветов (cSTN). 128 x 128 точек Встроенная фотокамера: Есть. Разрешение до 640х480 Записная книжка: Расширенная. 200 имен. До 4 номеров и адрес электронной почты на имя. Группы Русский ввод (в зап.книжку и SMS): Есть Голосовой набор: Нет Диктофон: Есть FM приемник: Нет ИК-порт: Нет Bluetooth: Нет WAP: WAP 2.0 MMS: Есть GPRS: Есть HSCSD: Нет Модем: Есть Е-мail клиент: Нет Органайзер: Есть Поддержка Java: Есть Игры: Есть Вибро - звонок: Есть Звонок: Полифонический, 40-тональный. + загружаемые (param28) все эти параметры VARCHAR Добавлено @ 22:11 -=Ustas=-Что за полнотекстовый поиск и какими функциями он осуществляется Это сообщение отредактировал(а) batek - 22.2.2006, 22:08 |
|||
|
||||
| CTAPbIuMABP |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 17.2.2006 Где: Киев Репутация: -1 Всего: 1 |
$result = масив значений этого товара
бред получается может есть функция которая сравнивает строки на похожесть? хотя тоже бред((( придется ВСЮ таьлицу по ВСЕМ полям ровнять.... Ты б выбрал допустим 3-4 значения Стандар, Дисплей, Производитель, Модем например и выбирал |
|||
|
||||
| batek |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 22.2.2006 Репутация: нет Всего: нет |
А если сделать форму гда галочками выбираешь нужные параметры для поиска, то как сделать чтобы они подставлялись в запрос
Добавлено @ 12:25 а вообще лучше всего сделать так как на сайтеhttp://www.techhome.ru/catalog/byt/AA500B13_00000000_5.htm при нажатии на кнопку похожие товары |
|||
|
||||
| CTAPbIuMABP |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 17.2.2006 Где: Киев Репутация: -1 Всего: 1 |
IMHO тебе лучше прилепить еще одно 33-е поле к котором через запятую указать товары которые на него похожы по твоему мнению и потом выбирать только из этого поля
это ОЧЕНЬ ускорить выборку |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |