#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)
Комментариев нет:
Отправить комментарий