#php #mysql
Доброго времени суток!
Сразу приведу пример чтобы было понятно.
На сайте стандартный поиск сортирует по title (названию новости).
У нас есть например 2 новости "семь" и "восемь"
и если ввести "семь" то выведет в первую очередь "восемь", т.к. у нас сортировка
по алфавиту.
Как написать поиск более точный?
PHP
Ответы
Ответ 1
Если конкретно надо вот прям сначала те которые начинаются, а потом которые только содержат, то WHERE title LIKE 'семь%' ORDER BY title UNION SELECT ... WHERE title LIKE '%семь%' ORDER BY title Но вообще то что тебе нужно называется полнотекстовый поиск.Ответ 2
попробуйте так SELECT title, CONCAT(' ', title) as title_ext FROM table WHERE title like '%семь%' ORDER BY CONCAT(' ', title)
Комментариев нет:
Отправить комментарий