sql查询搜索列的字符串我需要的特定模式

时间:2017-05-16 05:05:05

标签: php mysql sql

我已经为搜索字符串创建了一个搜索栏,我的查询是

$q = $_GET('val');
$sqlquery=$mysqli->query("SELECT * FROM tickets_search WHERE (ticket_date LIKE 
'%".$q."%') OR (car_number LIKE '%".$q."%') order by ticket_id desc");

现在,当我搜索HU-GG 6时,它给了我两个结果 看到这里:

Snippet-1:HU-GG 6-1

当我搜索HU-GG-6时,它给了我另一个结果 看到这里:

Snippet-2:HU-GG-6-2

我想要的是用HU-GG-6或HU-GG 6显示所有三个结果。无论我写什么。它应该向我显示所有三个结果。

1 个答案:

答案 0 :(得分:0)

尝试使用:您可以使用REPLACE来满足您的两个条件,但我不确定它会有多大帮助,请在REPLACE中调整PHP如果不正确:

SELECT * 
FROM tickets_search 
WHERE (ticket_date LIKE '%".$q."%') OR 
     (REPLACE(car_number, ' ', '-') LIKE REPLACE('%".$q."%', ' ', '-')) 
ORDER BY ticket_id DESC