checkbox数组没有在mysql / php

时间:2016-08-16 20:39:42

标签: php mysql arrays checkbox

我有一个表单,其中包含一个从mysql查询动态创建的表。

每行包含一个人名和一个复选框。我想要做的是让人员记录更新为1如果选中复选框,或者如果未选中则更新为0.

问题在于,当我使用下面的代码时,会更新正确数量的记录,但不适合正确的人。 这是相关的表单代码:

<?php
while ($row = mysqli_fetch_array($queryresult,MYSQLI_ASSOC)) {
echo '
        <tr>
            <td align="left">'. ucfirst($row['CustNumber']) .'</td>
            <td align="left">'. ucfirst($row['Firstname']) .' '. ucfirst($row['Surname']) .'</td>
            <td align="center">
                <input type="hidden" name="cid[]"  value="'. $row['CustNumber'] .'">
                <input type="hidden" name="cbox[]"  value="">
                <input type="checkbox" name="cbox[]"  value="1">
            </td>   
        </tr>';
}

这是一个简化的处理页面:

    foreach ($_POST['cid'] as $key=>$custid) {
    $check = $_POST['cbox'][$key];
        if ($check == "1") {
            $update ="UPDATE customer SET Active = '1' where CustID = '$custid'";
            $updatequery = mysqli_query($con,$update);
        } 
        else {
            $update ="UPDATE customer SET Active = '0' where CustID = '$custid'";
            $updatequery = mysqli_query($con,$update);
        }
    }
有人可以告诉我哪里出错了吗?我觉得我很亲密,但不能把它们放在一起。

更新: 改变:

<td align="center">
            <input type="hidden" name="cid[]"  value="'. $row['CustNumber'] .'">
            <input type="hidden" name="cbox[]"  value="">
            <input type="checkbox" name="cbox[]"  value="1">
        </td>   

为:

<td align="center">
         <input type="hidden" name="cid['. $row['CustID'] .']"  value="'. $row['CustID'] .'">
         <input type="checkbox" name="cbox['. $row['CustID'] .']"  value="1"'>
        </td>
根据showdev的评论,

解决了这个问题。谢谢

0 个答案:

没有答案