我创建了一个搜索栏来搜索我的查询的字符串
$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 时,它给了我两个结果 参见这里:
片段-1:HU-GG 6-1
当我搜索 HU-GG-6 时,它给了我另一个结果 参见这里:
片段2:HU-GG-6-2
我想要的是显示 HU-GG-6 或 HU-GG 6 的所有三个结果,无论我写什么。它应该显示所有三个结果。
最佳答案
尝试一下:您可以使用REPLACE
来满足您的两个条件,但我不确定它有多大帮助,请调整REPLACE
> 在 PHP
中,如果不正确:
SELECT *
FROM tickets_search
WHERE (ticket_date LIKE '%".$q."%') OR
(REPLACE(car_number, ' ', '-') LIKE REPLACE('%".$q."%', ' ', '-'))
ORDER BY ticket_id DESC
关于php - sql 查询在列中搜索我需要的特定模式的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43992890/