我有以下问题:我想让用户将过滤器应用于数据库搜索。 我有三个过滤器,A,B和C.所有这些过滤器都可以是“空的”,因为用户不关心它们并选择“任何”。现在我想检查这个查询对数据库记录。我使用的是正常的MySQL查询在PHP和MySQL可选WHERE条件
$db_q = "Select * from table where row1 = '" . $A . "' and row2 = '" . $B . "' and row3 =
'" . $C . "'";
只要用户输入特定的A,B,C任何能正常工作(!=“任何”)。当选择“any”时,我得到如下的结果:“select * from table where row1 =”any/all“等等。”我似乎无法弄清楚正确的语法(如果它甚至可能),我想避免混乱的情况区分(如果A ==任何,执行选择;如果B ==空...等等)。
任何帮助,非常感谢。
用户是否选择框从选择滤波器? – 2013-03-04 22:10:04
请修改您的标题以更具描述性。 – 2013-03-04 22:11:03
如果一个字段未被填充/选择了'any',则不要添加该条件:构建sql语句的第一部分并根据其值添加条件。 – jeroen 2013-03-04 22:11:36