MySQL多查询-在附加SQL参数中构建

MySQL多查询-在附加SQL参数中构建,mysql,append,mysqli-multi-query,Mysql,Append,Mysqli Multi Query,我有以下代码: $query .= "SELECT COUNT( ". $r ." ) AS Total, (SELECT COUNT( ". $r ." ) FROM tresults WHERE ". $r ." >=750) AS Eng, (SELECT COUNT( ". $r ." ) FROM tresults WHERE ". $r ." >=450 AND ". $r ." <=749) AS Pas, (SELECT COUNT( ". $r .

我有以下代码:

$query  .= "SELECT COUNT( ". $r ." ) AS Total, 
(SELECT COUNT( ". $r ." ) FROM  tresults WHERE ". $r ." >=750) AS Eng, 
(SELECT COUNT( ". $r ." ) FROM  tresults WHERE ". $r ." >=450 AND ". $r ." <=749) AS Pas, 
(SELECT COUNT( ". $r ." ) FROM  tresults WHERE ". $r ." <=449) AS Dis
FROM  tresults;";
这是一个多查询,使用PHP,我可以查看大量实例并将数据拉回来——这很好

然而,我需要能够做的是,根据用户从下拉菜单中输入的数据,轻松地向SQL查询添加额外的参数

因此,例如,用户可能会从下拉列表中选择一个选项,然后需要将该选项附加到SQL查询中,例如:

$query  .= "SELECT COUNT( ". $r ." ) AS Total, 
(SELECT COUNT( ". $r ." ) FROM  tresults WHERE ". $r ." >=750 AND q16 = 'Yes') AS Eng, 
(SELECT COUNT( ". $r ." ) FROM  tresults WHERE ". $r ." >=450 AND ". $r ." <=749 AND q16 = 'Yes') AS Pass, 
(SELECT COUNT( ". $r ." ) FROM  tresults WHERE ". $r ." <=449 AND q16 = 'Yes') AS Dis
FROM  tresults WHERE q16 = 'Yes';";
可能有一个附加,如上所述,或几个附加


我以前从未尝试过类似的事情,所以在我深入研究之前,我想知道是否有人有任何建议?

以下是我的一般方法:

$filter = "AND q16 = 'Yes'"; //This value is dynamic depending on dropdown selection
$query  .= "SELECT COUNT( ". $r ." ) AS Total, 
(SELECT COUNT( ". $r ." ) FROM  tresults WHERE ". $r ." >=750 " . $filter ." ) AS Eng, 
(SELECT COUNT( ". $r ." ) FROM  tresults WHERE ". $r ." >=450 AND ". $r ." <=749 " . $filter ." ) AS Pass, 
(SELECT COUNT( ". $r ." ) FROM  tresults WHERE ". $r ." <=449 " . $filter ." ) AS Dis
FROM  tresults WHERE 1=1 " . $filter ." ;";