何时使用或,以及在MYSQL中使用高级搜索查询结果
我正试图建立一个先进的搜索选项为我们的网站。我很难让它工作?基本上,唯一需要保持不变的是“review\u live=1”,其余的只有在用户搜索时才需要。为什么这不能正常工作,也许我没有使用OR,并且在较长的查询中正确何时使用或,以及在MYSQL中使用高级搜索查询结果,mysql,variables,Mysql,Variables,我正试图建立一个先进的搜索选项为我们的网站。我很难让它工作?基本上,唯一需要保持不变的是“review\u live=1”,其余的只有在用户搜索时才需要。为什么这不能正常工作,也许我没有使用OR,并且在较长的查询中正确 WHERE review_live = 1 AND city LIKE '%$location%' OR region LIKE '%$region%' OR date BETWEEN '$beginDate' AND '$endDa
WHERE
review_live = 1 AND
city LIKE '%$location%' OR
region LIKE '%$region%' OR
date BETWEEN '$beginDate' AND '$endDate' OR
name LIKE '%$name2%' OR
type LIKE '%$type1%' OR
type_2 LIKE '%$type2%'
ORDER BY date DESC
第一项建议:
WHERE
review_live = 1 AND
(
city LIKE '%$location%' OR
region LIKE '%$region%' OR
( date BETWEEN '$beginDate' AND '$endDate' ) OR
name LIKE '%$name2%' OR
type LIKE '%$type1%' OR
type_2 LIKE '%$type2%'
)
ORDER BY date DESC
编辑:
我猜如果用户不想筛选该条件,您可以将所有like
字符串替换为'%'
。然后试试这个:
WHERE
review_live = 1 AND
city LIKE '%$location%' AND
region LIKE '%$region%' AND
date BETWEEN '$beginDate' AND '$endDate' AND
name LIKE '%$name2%' AND
type LIKE '%$type1%' AND
type_2 LIKE '%$type2%'
ORDER BY date DESC
第一项建议:
WHERE
review_live = 1 AND
(
city LIKE '%$location%' OR
region LIKE '%$region%' OR
( date BETWEEN '$beginDate' AND '$endDate' ) OR
name LIKE '%$name2%' OR
type LIKE '%$type1%' OR
type_2 LIKE '%$type2%'
)
ORDER BY date DESC
编辑:
我猜如果用户不想筛选该条件,您可以将所有like
字符串替换为'%'
。然后试试这个:
WHERE
review_live = 1 AND
city LIKE '%$location%' AND
region LIKE '%$region%' AND
date BETWEEN '$beginDate' AND '$endDate' AND
name LIKE '%$name2%' AND
type LIKE '%$type1%' AND
type_2 LIKE '%$type2%'
ORDER BY date DESC
您需要review_live=1和所有其他内容。所有其他的东西都是城市或地区,或者 在哪里 查看_live=1和(…)
按日期订购说明您希望有review_live=1和所有其他内容。所有其他的东西都是城市或地区,或者 在哪里 查看_live=1和(…)
ORDER BY date DESC没有错误,只是没有按照我想要的方式进行过滤。例如,当我尝试?type1=2时,它会返回所有记录?如果将类似字符串保留为
%
,则必须将或
替换为和
。看编辑。太好了,第二个很好用!!就这样!!很好的回答和视觉效果,我下次可以看到如何构造这些查询!!没有错误,只是没有按照我想要的方式进行过滤。例如,当我尝试?type1=2时,它会返回所有记录?如果将类似字符串保留为%
,则必须将或
替换为和
。看编辑。太好了,第二个很好用!!就这样!!很好的回答和视觉效果,我下次可以看到如何构造这些查询!!