22
Июл
2021

Поиск по нескольким полям [дубликат]

У меня есть База данных MySQL. Есть таблица users со следующей структурой:

  • user_id
  • first_name
  • last_name
  • middle_name
  • birthdate
  • document

Есть одно поле поиска на странице. Сейчас поиск работает через SQL LIKE таким образом

    public static function getTableDataBySearch($search) {

    $sql = "
    SELECT * FROM " . self::$table . " WHERE first_name  LIKE '%".$search."%'
        OR last_name LIKE '%".$search."%'
        OR middle_name LIKE '%".$search."%'
        OR birthdate LIKE '%".$search."%'
        OR birthdate LIKE '%".$search."%'
        OR documentLIKE '%".$search."%'
        ORDER BY number";

   return \R::getAssoc($sql);
}

Однако, если ввести в поле поиска одновременно фамилию и имя, или ФИО и дату рождения, то соответственно ничего не будет найдено. Как это можно улучшить?

P.S. До момента написания этого вопроса, я прочитал охожие вопросы, однако те решения либо неясны мне, либо устаревшие.

Источник: https://ru.stackoverflow.com/questions/1307671/%D0%9F%D0%BE%D0%B8%D1%81%D0%BA-%D0%BF%D0%BE-%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%B8%D0%BC-%D0%BF%D0%BE%D0%BB%D1%8F%D0%BC

Тебе может это понравится...

Добавить комментарий