| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > Поиск аналогов товара |
| Автор: batek 22.2.2006, 13:45 |
| Задача которую я немогу осуществить:На некотором сайте имеются некоторые товары под каждым из которых располагается кнопочка найти аналоги при нажатии на которую модуль должен вывести от 1 до 5 аналогов или сказать что аналогов нет. База данных к которой конектится модуль состоит из следующих полей id(ид номер товара), marka(название), group1(группа),param1,..,param32(параметры от 1 до 32),cost(цена). Если кто знает как сделать напишите пожалуйста. |
| Автор: -=Ustas=- 22.2.2006, 14:19 |
| Ты должен знать, что содержится в остальных полях. По полям, которые ты дал, нельзя определить аналоги. |
| Автор: batek 22.2.2006, 15:19 |
| -=Ustas=- надо проверять по параметрам выделить или как то пометить какой параметр нужно проверять первым, какой вторым и так далее если в результате вывелось >5 аналогов то уже проверять по цене в пределах от (cost-n) до (cost+n) |
| Автор: CTAPbIuMABP 22.2.2006, 15:59 | ||
|
| Автор: batek 22.2.2006, 20:01 |
| CTAPbIuMABP не не так он тут тока по цене смотрит |
| Автор: IZ@TOP 22.2.2006, 20:44 |
| Предлагаю несколько переделать вариант CTAPbIuMABP, но идея думаю ясна. Это самое простое решение. Только диапазон нужно брать конкретно 2 менее текущего ID и два более текущего ID. Единственное, так всегда будет что-то выводиться. Поэтому можно сделать еще сравнение по полям в самом РНР. К примеру, если больше 50% полей совпадают данными с тем, что имеется у товара, тогда выводим, если менее 50% совпадений, не выводим. |
| Автор: batek 22.2.2006, 22:05 |
| Параметры такие: Производитель: 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=-Что за полнотекстовый поиск и какими функциями он осуществляется |
| Автор: CTAPbIuMABP 23.2.2006, 11:11 | ||
$result = масив значений этого товара
бред получается может есть функция которая сравнивает строки на похожесть? хотя тоже бред((( придется ВСЮ таьлицу по ВСЕМ полям ровнять.... Ты б выбрал допустим 3-4 значения Стандар, Дисплей, Производитель, Модем например и выбирал |
| Автор: batek 23.2.2006, 12:20 |
| А если сделать форму гда галочками выбираешь нужные параметры для поиска, то как сделать чтобы они подставлялись в запрос Добавлено @ 12:25 а вообще лучше всего сделать так как на сайтеhttp://www.techhome.ru/catalog/byt/AA500B13_00000000_5.htm при нажатии на кнопку похожие товары |
| Автор: CTAPbIuMABP 23.2.2006, 12:50 | ||
IMHO тебе лучше прилепить еще одно 33-е поле к котором через запятую указать товары которые на него похожы по твоему мнению и потом выбирать только из этого поля
это ОЧЕНЬ ускорить выборку |