過濾器由於我們不知道你的服務器端腳本語言 - 的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