Сложный поиск в MySQL

#php #mysql #search

#php #mysql #Поиск

Вопрос:

У меня есть 2 столбца varchar, один для имени и один для фамилии.

Я пытаюсь создать окно поиска, в котором пользователь будет либо вводить имя, либо фамилию человека, и он будет выполнять соответствующий поиск и показывать результаты. Т.е. он мог либо ввести ‘john’, либо ‘john smith’.

Как я могу этого добиться? Есть ли надежный способ отделить имя и фамилию от введенных пользователем данных (то есть, что, если бы он набрал Anne Marie Smith, что бы я использовал в качестве первого имени, а что в качестве последнего?).

Ответ №1:

Сделайте это другим способом. Объедините имя и фамилию из таблицы вашей базы данных (например, «Anne Marie» «Smith» -> «Anne Marie Smith») и выполните поиск по ним.

Ответ №2:

 select CONCAT(first_name,last_name) as full_name from user where full_name like "%$token";
  

здесь $token = $_GET['token'];

то есть любой пользовательский ввод в поле поиска, который вы можете получить с помощью ajax.