我正在使用mssql编写php程序,其中我有一个长查询与许多参数和一个相当大的数据库。如何解决查询中的参数仅在填写相应的表单字段时才包含的问题?
的例子:
SELECT * FROM Users WHERE UserdID='' AND Status='' AND ...
假设这是一个用于搜索用户的管理工具,但我只想包含那些已经填充了相应表单字段的AND parameter=''
部分。
我可以检查每个表单字段并将查询拼接在一起,但我觉得有一种更简单,更优雅的方式。
兄弟我希望你用下面的算法
- 为条件创建全局变量。
- 首先检查输入值是否为空,如果不是空则放入全局变量
- 所有输入后只检查用户提交的全局变量内容
var a="";
if(txtUser!="")
{
a = a==""?"username= ".txtUser:"username= ".txtUser;
}
if(txtCountry!="")
{
a = a==""?"country= ".txtCountry:a." and country= ".txtCountry;
}
条件