Помощь по скриптам | имя и фам поиск
ребзя привет
USER_SETTINGS таблица
NAME имя
SURNAME фамилия
нужно сделать чтобы поиск был если вместе написать имя и фамилию.
вот запрос
на данный момент ищет ток раздельно если сначала написать имя и поиск, либо фам и поиск, если писать имя фам то не ищет
USER_SETTINGS таблица
NAME имя
SURNAME фамилия
нужно сделать чтобы поиск был если вместе написать имя и фамилию.
вот запрос
$data = db::get_string_all("SELECT * FROM `USERS_SETTINGS` WHERE (`NAME` LIKE ? OR `SURNAME` LIKE ?) ORDER BY `ID` DESC LIMIT ".$limit.", ".PAGE_SETTINGS, ['%'.SEARCH.'%', '%'.SEARCH.'%']);
на данный момент ищет ток раздельно если сначала написать имя и поиск, либо фам и поиск, если писать имя фам то не ищет
OR - или
AND - и
AND - и
Mr[G]Pro (03.06.2022 в 15:04)
OR - или
AND - и
OR - или
AND - и
AND пробовал, не ищет
Mr[G]Pro (03.06.2022 в 15:04)
OR - или
AND - и
OR - или
AND - и
['%'.SEARCH.'%', '%'.SEARCH.'%']);
здесь надо что то изменить?
Этот поиск не будет работать если вводить имя и фамилию сразу, если ввели имя и фамилию надо делить строку на два слова и искать каждое отдельно
FPaHKeHwTeuH,
?
________
посл. ред. 03.06.2022 в 17:10; всего 4 раз(а); by Mr[G]Pro
$data = db::get_string_all("SELECT * FROM `USERS_SETTINGS` WHERE `NAME` LIKE `?` AND `SURNAME` LIKE `?` ORDER BY `ID` DESC LIMIT {$limit}", ".PAGE_SETTINGS, ['%'.SEARCH.'%', '%'.SEARCH.'%']);;
?
________
посл. ред. 03.06.2022 в 17:10; всего 4 раз(а); by Mr[G]Pro
FPaHKeHwTeuH, Как вариант объединить два столбца с разделителем
$data = db::get_string_all("SELECT * FROM `USERS_SETTINGS` WHERE CONCAT_WS(' ',`NAME`, `SURNAME`) LIKE ? ORDER BY `ID` DESC LIMIT ".$limit.", ".PAGE_SETTINGS, ['%'.SEARCH.'%']);
TuT (04.06.2022 в 08:11)
FPaHKeHwTeuH, Как вариант объединить два столбца с разделителем
FPaHKeHwTeuH, Как вариант объединить два столбца с разделителем
$data = db::get_string_all("SELECT * FROM `USERS_SETTINGS` WHERE CONCAT_WS(' ',`NAME`, `SURNAME`) LIKE ? ORDER BY `ID` DESC LIMIT ".$limit.", ".PAGE_SETTINGS, ['%'.SEARCH.'%']);
а CONCAT_WS эт что там должно быть?
TuT (04.06.2022 в 08:11)
FPaHKeHwTeuH, Как вариант объединить два столбца с разделителем
FPaHKeHwTeuH, Как вариант объединить два столбца с разделителем
$data = db::get_string_all("SELECT * FROM `USERS_SETTINGS` WHERE CONCAT_WS(' ',`NAME`, `SURNAME`) LIKE ? ORDER BY `ID` DESC LIMIT ".$limit.", ".PAGE_SETTINGS, ['%'.SEARCH.'%']);
о работает) спасибо) ток я не понял особо суть запроса))
FPaHKeHwTeuH (04.06.2022 в 12:39)
о работает) спасибо) ток я не понял особо суть запроса))
о работает) спасибо) ток я не понял особо суть запроса))
Функция CONCAT_WS() объединяет столбцы с разделителем, в твоем случае с пробелом. То есть получаем из двух столбцов один
NAME = Иван
SURNAME = Иванов
С помощью CONCAT_WS() на выходе получаем Иван Иванов в одном столбце.