使用查询中的复选框值

时间:2017-08-14 14:45:01

标签: php mysql

我有一个复选框输入,其值设置为0。

<form id="formFilter2" name="formFilter2" method="post" action="">
    <input name="selView" type="checkbox" id="selView" onChange="formFilter2.submit()" 
     value="0" <?php echo (isset($_POST['selView'])?'checked':'');?> />
     view accounts with no fees assigned
</form>

我设置了一个左连接查询表(费用)计算帐户的费用。当我查看数据时,我可以在每个相应的members.Name之后看到计数。如果带有members.ID的费用表中没有记录,则显示0。有些成员没有收取费用。我正在尝试使用复选框来过滤名称并显示已分配0的名称。

$varView_RecordsetMembers = "%";
if (isset($_POST['selView'])) {
  $varView_RecordsetMembers = $_POST['selView'];
}

$varFilter_RecordsetMembers = "%";
if (isset($_POST['selFilter'])) {
$varFilter_RecordsetMembers = $_POST['selFilter'];
}

$colname_RecordsetMembers = "%";
if (isset($_GET['search'])) {
$colname_RecordsetMembers = $_GET['search'];
}

$query_RecordsetMembers = sprintf("SELECT DISTINCT members.Tag, members.ID, members.Name, 
COALESCE((COUNT(CASE WHEN fees.Type='Fee' THEN fees.ID END)) ,0) AS 'Feez' FROM members 
LEFT JOIN fees ON members.ID=fees.ID WHERE (members.Dept LIKE %s AND (members.Name LIKE %s 
OR members.ID LIKE %s)) GROUP BY members.ID HAVING 'Feez' LIKE %s ORDER BY members.Name, 
members.Dept", GetSQLValueString($varFilter_RecordsetMembers, "text"),
GetSQLValueString("%" . $colname_RecordsetMembers . "%", "text"),
GetSQLValueString("%" . $colname_RecordsetMembers . "%", "text"), 
GetSQLValueString($varView_RecordsetMembers, "text"));

默认情况下,记录显示所有成员,我想使用复选框在所有成员之间切换,并过滤到没有费用的成员。当我查看数据时,我可以在每个相应的members.Name之后看到计数。如果带有members.ID的费用表中没有记录,则显示0。有些成员没有收取费用。我试图使用复选框来过滤名称,并显示我分配了0。我正在使用HAVING'Feez'LIKE%s(或COUNT)来查询数据,以显示没有记录或费用的成员。我甚至尝试使用COALESCE但没有成功。任何帮助将不胜感激。

0 个答案:

没有答案