Sql条件查询参数(只有在填写相应的表单字段时才包含参数)


Sql conditional query parameters (include a parameter only when the corresponding form field is filled)

我正在使用mssql编写php程序,其中我有一个长查询与许多参数和一个相当大的数据库。如何解决查询中的参数仅在填写相应的表单字段时才包含的问题?

的例子:

SELECT * FROM Users WHERE UserdID='' AND Status='' AND ...

假设这是一个用于搜索用户的管理工具,但我只想包含那些已经填充了相应表单字段的AND parameter=''部分。

我可以检查每个表单字段并将查询拼接在一起,但我觉得有一种更简单,更优雅的方式。

兄弟我希望你用下面的算法

    为条件创建全局变量。
  1. 首先检查输入值是否为空,如果不是空则放入全局变量
  2. 所有输入后只检查用户提交的全局变量内容
样本的例子。

var a="";
if(txtUser!="")
{
a = a==""?"username= ".txtUser:"username= ".txtUser;
}
if(txtCountry!="")
{
a = a==""?"country= ".txtCountry:a." and country= ".txtCountry;
}
条件