Общие > Базы данных
Поиск в базе по нескольким словам
Tronyx:
--- Цитировать ---я думал через LIKE \'%$find1%\' OR LIKE \'%$find2%\' OR LIKE \'%$find3%\'
--- Конец цитаты ---
Вообще-то это должно работать...;)
А ещё лучше посмотри в мануал и найди там функции MATCH() и AGAINST(), ну а если лень в ман лезть, то иди на http://detail.phpclub.net, там есть статья - "поиск с релевантностью".
PS на форуме есть такая классная штука как поиск, пользуйся им.
tarya:
--- Цитировать ---то иди на http://detail.phpclub.net,
--- Конец цитаты ---
я уже переспал со всеми статьями на том сайте по поиску, все 4 или 5 их там прочел по 40 раз, но не могу врубиться, там для сильно умных написано, так как не расписано какие поля за что отвечают, ну короче говоря не дохожу я умом....
ты говоришь должно работать? так может мне попробовать? а то я так толкком и непробовал, думад незароботает то что я написал
NeoNox:
Я понял, у тебя с алгоритмом запарка...
Значит так:
полученные ключевые слова нужно разделить, построить для каждого из них LIKE. Регэкспом или иначе, не важно...
tarya:
--- Цитировать ---полученные ключевые слова нужно разделить, построить для каждого из них LIKE.
--- Конец цитаты ---
я все сделал и получился запрос:
$query = "SELECT MID(data , LOCATE(\'$find\', data) -10, 160) AS data, link FROM u_find WHERE data LIKE \'%$word[0]%\' OR LIKE \'%$word[1]%\'";
но ничего неработает :( как біть?
fidget:
tarya
что именно не работает?
оно может выдавать ошибку, может не находит строк
попробуй проверить запрос не скриптом, а через mysql клиента.
Навигация
Перейти к полной версии