如何取消设置查询变量


how to unset query variable

为了从数据库(mySql)获取数据,我根据他从我给他的过滤器中选择的用户需求追加我的查询。但在某个特定的点,如果满足某些条件,所以我想取消一个字段(submissionDate)它之前被设置为某个变量,并为该变量设置一些新字段。例如,我的查询是:

$query = "SELECT * FROM table2 WHERE DATE(submissionDate) between '$variablename3' and  '$variablename4'"

但如果下列条件为真:

if($variablename8=="Approved")

所以我必须附加之前的查询并添加

$query = "$query and DATE(newDate) between '$variablename3' and  '$variablename4'"

请注意,我根据满足的条件追加了它。所以不能再写所有的查询。不同的字段将被设置为不同的值,但只有当满足这个条件时,我必须取消设置submissionDate和设置newDate字段b/w var3和var4,并取消设置前一部分:

DATE(submissionDate) between '$variablename3' and  '$variablename4'

所以基本上我必须忽略submissionDate的效果,而它将留在查询。有什么办法可以解决这类问题吗?

请尝试将您的查询变量设置为有条件的

$query = "SELECT * FROM table2 WHERE 1=1 AND ";
if($variablename8=="Approved")
$query .= "DATE(newDate) between '$variablename3' and  '$variablename4'";
else
$query .= "DATE(submissionDate) between '$variablename3' and  '$variablename4'";

还是你在找别的东西?