2014-03-05 43 views
0

我有我的網站,我想爲用戶添加搜索功能。我的搜索條件是First namelast Name,在mysql數據庫中有兩個不同的列。如何在查詢字符串中進行確切模式匹配

如:如果用戶輸入XXX (名) YYY (姓)搜索框,那麼結果是這樣的:

  1. 如果以該兩串然後精確匹配數據庫中只有一個結果來自 。

  2. 如果不匹配,那麼只需從數據庫中包含就得來。 (如 xx是存在,那麼它必須來)

我用下面的查詢:

Select * from mytable where FirstName like '%".$fname."%' or LastName like '%".$lname."%' order by DtLastModified desc 

它給我所有該字符串匹配的結果。

例如:

XXX YYY

XX YY

X Y

X

ý

任何人都可以幫助我。

+0

顯示一些代碼你試過了嗎? – Mani

回答

0

這可能工作,更換你的php變量爲$ fname $ lname

SELECT * FROM mytable 
WHERE CONCAT(firstname, '', lastname) LIKE '%".$fname.$lname."%' 
OR (firstname LIKE '%".$fname ."%' OR lastname LIKE '%". $lname ."%') 
0

爲:如果與這兩字符串精確匹配,那麼結果只有一個必須來自數據庫 從更換您的查詢「或」到「和」 LIK下面

Select * from mytable where FirstName like '%".$fname."%' and LastName like '%".$lname."%' order by DtLastModified desc