Показать сообщение отдельно
Старый 23.06.2004, 11:43
igor82 вне форума Посмотреть профиль Отправить личное сообщение для igor82 Найти все сообщения от igor82
  № 20  
igor82

Регистрация: Apr 2002
Адрес: Россия, Воронеж
Сообщений: 121
Отправить сообщение для igor82 с помощью ICQ Отправить сообщение для igor82 с помощью Yahoo
Вот смотрите ещё раз....

В таблице t1 предположим есть поля 'product_name' , 'car_name'.....

Предположим в таблице есть записи:

product_name | car_name
------------------------------------------
спойлер | ford
фары | ford
колёсный диск | ford
глушитель | ford


Наша цель осуществить поиск по этой таблице....Предположим что пользователь ввел фразу для поиска 'ford спойлер фары'. Что мы делаем

1) разбиваем фразу на слова 'ford' , 'спойлер', 'фары'

2) Пишем стандартный запрос :
SELECT t1.* FROM `table_1` t1 WHERE
(t1.product_name='ford' OR t1.car_name='ford')
OR
(t1.product_name='спойлер' OR t1.car_name='спойлер')
OR
(t1.product_name='фары' OR t1.car_name='фары')

ТАК ВОТ - этот запрос правильно работать не будет так как помимо ФАР и СПОЙЛЕРОВ выведутся ещё и глушители с дисками (это недопустимо)...А как построить запрос таким образом чтобы сначало вывелись результаты где втречается по возможности вся связка слов, или по крайней мере их сочетание например: ford фары ИЛИ ford спойлер....