我有一个搜索系统可以帮助您过滤人员列表 我的表(人物)
id | name | surname | email
有一个文本框,您可以输入姓名,姓氏或电子邮件,以便在您键入时过滤列表。
如果我只写名字或只写姓氏,它会找到记录。但是,如果我输入姓名,它确实没有显示任何内容。
我尝试过Mysql的CONCAT功能。但它没有用。
我的查询:
SELECT *
FROM People
WHERE name LIKE :p1
OR surname LIKE :p2
OR email LIKE :p3
我试过这个
SELECT *
FROM People
WHERE name LIKE :p1
OR surname LIKE :p2
OR email LIKE :p3
OR CONCAT(name, char(32), surname) LIKE :p4
和这个
SELECT id,
name,
surname,
CONCAT(name, char(32), surname) AS fullname
FROM People
WHERE name LIKE :p1
OR surname LIKE :p2
OR email LIKE :p3
OR fullname LIKE :p4
当输入姓名+ [空格] +姓氏时,如何获得可以找到结果的系统?
答案 0 :(得分:0)
您可以拆分关键字并搜索列中的每个关键字(或表达式)(姓名,姓氏和电子邮件)。