过滤器由于我们不知道你的服务器端脚本语言 - 的psheuducode应该是 -
if(request['form_input']!=null)
Select * from DATABASE where COLUMN='form_input';
else
Select * from DATABASE;
而且如果对于form_inp许多领域UT然后我们可以设计 我们的代码是这样 -
String wherequery = "";
if(request['form_input1']!=null)
{
wherequery = wherequery + " COLUMN='form_input1' ";
}
if(request['form_input2']!=null)
{
wherequery = wherequery + " And "
wherequery = wherequery + " COLUMN='form_input2' ";
}
if(request['form_input3']!=null)
{
wherequery = wherequery + " And "
wherequery = wherequery + " COLUMN='form_input3' ";
}
....
And so on
....
String selectQuery = "";
if(wherequery == "")
{
selectQuery = "Select * from TABLE";
}
else
{
selectQuery = "Select * from TABLE where" + wherequery ;
}
execute (selectQuery);
请注意,我们使用的是pseudo code
这里。我们可以采用表单输入并为每个非空的输入连接查询。
如果我们发现连接字符串为空字符串,我们将选择完整的表格。
否则
我们将用where子句进行选择查询。
希望这能帮助你。
是的,这可以工作,但问题是形式将包含多个这样的列条目,并设计如果其他结构为每个案件将是非常复杂的。 前2个项目可能有4个案例,3个项目可能有8个案例。 有没有其他出路? – user1575044 2013-03-12 18:07:34
我编辑了我的逻辑。请检查它是否有帮助。 – 2013-03-12 18:28:24
谢谢你这一个将工作得很好 ,除非它需要一点修改,以防form_input1为null whrerequery将是空的,所以将不得不照顾并添加额外的嵌套if-else语句 谢谢! – user1575044 2013-03-13 06:06:01