У меня есть таблица базы данных, которая имеет поле firstname
и поле lastname
.Я пытаюсь реализовать систему поиска по любому слову, используя поле поиска, где, если, скажем, у нас есть пользователь с именем John Stanley Smith
в базе данных (где firstname = John Stanley
и lastname = Smith
), я хочу иметь возможность вернутьсяJohn Stanley Smith
, если пользователь вводит любое из следующего:
1- Любая буква, являющаяся частью John Stanley Smith
(j, s, l, e, y, m и т. Д.)2- Любое слово, которое является частью John Stanley Smith
3- Любая комбинация слов (в любом порядке), которая является частью John Stanley Smith
, что означает, что, если пользователь вводит либо John Stanley
, либо John Smith
, либо Stanley Smith
, либо Stanley John
(вы поняли идею) и т. Д... Я хочу найти John Stanley Smith
.
Я знаю, что могу сделать это с помощью функции Полнотекстовый поиск MySQL , но если я это сделаю, точка номер один не будет работать (потому что функция полнотекстового поиска MySQL сопоставляет только целые слова, а не подстроки в строке).Кроме того, для выполнения поиска требуется минимальное количество слов (задается константой min_word_len
).Итак, я действительно хочу сделать это, используя LIKE%.
Спасибо