从返回空输入的表单中搜索数据库

时间:2013-03-12 11:31:31

标签: database forms search string

我想使用表单填写的某些字段在我的数据库中进行搜索 但如果某些字段留空,我不想包含它们 哪种查询可以帮助我实现这个? 目前我正在使用如下查询:

 Select * from DATABASE where COLUMN='form_input';

但是由于我的表单将返回空,它将尝试选择具有空条目的行,但我希望此时查看数据库中所有行的结果,即我想通过COLUMN='form_input'使过滤器无效

1 个答案:

答案 0 :(得分:1)

由于我们不知道您的服务器端脚本语言 - psheuducode应该是 -

if(request['form_input']!=null)
    Select * from DATABASE where COLUMN='form_input';
else
    Select * from DATABASE;

此外,如果form_input有很多字段,那么我们可以设计 我们的代码就像 -

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子句查询。

希望,这可以帮到你。