0
我想建立一个查询,这是其WHERE
条款至今:条件检查在WHERE子句
WHERE (s.subject_name LIKE '%$keyword%' OR
c.city_name LIKE '%$keyword%' OR
o.option_name LIKE '%$option%' OR
d.district_id = $districtId OR
c.city_id = $cityId
)
我的实际情况是:
$keyword
应该始终保持一个值。其他3不可以。- 如果只有
$keyword
有一个值,返回的记录应匹配subject_name
或city_name
中的$keyword
。 - 如果
$optional
有一个值,然后返回的记录应该匹配$keyword
和$option
- 如果
$districtId
具有值,则结果应如果$cityId
具有匹配3个变量值($keyword
,$option
,$districtId
) - 最后值与其他3一样,返回的结果应该匹配所有4个变量的值。
这些条件来自我的搜索页面。 $keyword
是文本框中的值,需要关键字才能开始搜索。这就是为什么我说它总是有价值。其他3个值来自选择框,允许在需要时选择项目。
我试图使查询,其确定。但我真的很困惑WHERE
条款。以上代码从我的WHERE
条款到目前为止。但我无法得到我想要的结果。
什么是期望的结果,以及您需要什么? – 2013-02-20 01:42:41
http://stackoverflow.com/questions/5540416/how-to-ignore-a-condition-in-where-clause?rq=1 – 2013-02-20 01:43:45
输出来,如果至少有五个必须匹配 – ugnuku 2013-02-20 01:44:57