[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск с оператором LIKE
segazav
Всем привет ;)

Не могу понять, что указать в запросе оператора LIKE, чтобы он брал только указанную цифру.
Например, если в поиске указать 50, то он находит все числа которые содержат 50

Если так,

$query1 = "SELECT * FROM baza WHERE `zagolovok` LIKE '%[^0-9]".$slova2."[^0-9]%' ORDER BY `relevant` DESC LIMIT $start, $num";

все равно берет все соседние цифры.

Если убрать % то он ищет только цифру и больше ничего, а нужно ещё и соседние слова выводить.
sergeiss
Цитата (segazav @ 8.09.2015 - 22:07)
что указать в запросе оператора LIKE, чтобы он брал только указанную цифру.

Ты напиши подробнее, что хочешь получить. А то процитированное предложение можно по-разному понять. И советы будут разные.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
segazav
Ну есть поисковая строка, которая содержит слова и/или цифры.
Эта строка разбивается на слова и заносится в массив.
Затем по всем словам ($slova2) массива происходит поиск в базе.
Бывает так, что строка это марка машины, например, "ВАЗ 2110"
Поиск происходит по "ВАЗ" и по "2110", но находит и 21103 и 21104 и т.д.
inpost
segazav
LIKE - не регулярное выражение же ж! wink.gif
Там есть что-то вроде REGEXP

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.