我有我的网站,我想为用户添加搜索功能。我的搜索条件是First name
和last Name
,在mysql数据库中有两个不同的列。
例如:如果用户在搜索框中输入了xxx (名字) yyy (姓氏),则结果如下:< / p>
如果与这两个字符串完全匹配,则只需要一个结果 来自数据库。
如果不匹配则只需从数据库中包含来。 (例如 xx存在然后它必须来)
我使用了以下查询:
Select * from mytable where FirstName like '%".$fname."%' or LastName like '%".$lname."%' order by DtLastModified desc
它给了我所有匹配此字符串的结果。
例如
xxx yyy
xx yy
x y
X
ý
任何人都可以帮助我。
答案 0 :(得分:0)
对于:如果与这两个字符串完全匹配,那么只有一个结果必须来自数据库 将您的查询从'或'替换为'和'喜欢
Select * from mytable where FirstName like '%".$fname."%' and LastName like '%".$lname."%' order by DtLastModified desc
答案 1 :(得分:0)
这可能有效,替换$ fname $ lname
的php变量SELECT * FROM mytable
WHERE CONCAT(firstname, '', lastname) LIKE '%".$fname.$lname."%'
OR (firstname LIKE '%".$fname ."%' OR lastname LIKE '%". $lname ."%')