Forum Webscript.Ru

Общие => Базы данных => Тема начата: tarya от 27 Августа 2002, 17:33:35

Название: выборка (поиск) пару тройку слов из базы - простите что я опять лезу
Отправлено: tarya от 27 Августа 2002, 17:33:35
короче говоря запрос что вы мне помогли составить меня пока устраивает неплохо - большое вам спасибо за него.

запрос такой

$query = "SELECT MID(data , LOCATE(\'$find\', data) -50, 160)  AS data, link FROM u_find WHERE data LIKE \'%$find%\'";

получается что ищется $find - все класс.
но тут я помозговал: ведь на яндексе или других поисковиках мы можем написать и пару слов!
короче говоря я подумал а что если взять да и слово которое напишет пользователь - "Тетка гулящяя" - разбивалась бы по пробелу " " и получалось бы 2 слова которые треба найти - $find[1] = "Тетка", $find[2] = "гулящяя"  и все это бы суперно искалось бы. так вот это я придумал но как реализовать чтоб в запрос такое вставить? или хотябы как его просто составить? потом динамически его составить не так сложно будет.

спасибо.
Название: выборка (поиск) пару тройку слов из базы - простите что я опять лезу
Отправлено: tarya от 27 Августа 2002, 17:51:29
я так подумал трошки может так
$query = "SELECT MID(data , LOCATE(\'$find\', data) -50, 160)  AS data, link FROM u_find WHERE data LIKE \'%$find[1]%\' AND data LIKE \'%$find[2]%\' AND data LIKE \'%$find[3]%\'";

????
Название: выборка (поиск) пару тройку слов из базы - простите что я опять лезу
Отправлено: ThE0ReTiC от 27 Августа 2002, 18:02:37
tarya
Это если ты все слова ищешь.
Если любое - то используй OR вместо AND