从复选框php中检索数组值

时间:2013-05-13 21:21:28

标签: php arrays checkbox

我很难看到这里出了什么问题。我试图根据已选中的复选框从我的数据库中删除。 if(!empty($ _ POST ['removeCheckbox']))表示removeCheckbox为空,即使我回显$ currentRow []它显示值。提前谢谢。

while($row = mysqli_fetch_array($paperToReview)){    
    if ($row > 0) {
        $currentRow = array($row['uid'], $row['toReview']);
                echo $currentRow[0];
                echo $currentRow[1];            
        echo '<td width = 200><input type="checkbox" name="removeCheckbox[]" value="'.$currentRow.'"> Remove</td>';
    }
}
//Remove button
echo'<td width = 200><td width = 200><td width = 200><td width = 200><td width = 200><input type=submit name=submit value="Remove Checked Rows"></td>';

然后在这里,我看到是否已经检查了删除按钮并查看了所有选中的复选框。

    if (isset($_POST['submit']) && $_POST['submit'] =="Remove Checked Rows"){
        if(!empty($_POST['removeCheckbox'])) {
        //deletes row from database
            foreach($_POST['removeCheckbox'] as $check) {
                    DBSubmit("DELETE FROM paper_review WHERE paper_reviewer_id = '" . $check[0] ."' AND paperid = '" . $check[0] ."'");

                }
        }

2 个答案:

答案 0 :(得分:0)

你确定,满足了这个条件吗?

在提交条件之前检查$ _POST变量中是否有正确的值,简单写一下这样的内容

echo(<pre>); print_r($_POST); echo(</pre>);

请发送更多代码(如何创建表单,post变量中的内容)

吨。

答案 1 :(得分:0)

这将使所有值都为'Array',因为您无法直接回显数组 试试这个:

while($row = mysqli_fetch_array($paperToReview)){    
    if ($row > 0) {
        $currentRow = array($row['uid'], $row['toReview']);         
        echo '<td width = 200><input type="checkbox" name="removeCheckbox[]" value="'.json_encode($currentRow).'"> Remove</td>';
    }
}
//Remove button
echo'<td width = 200><td width = 200><td width = 200><td width = 200><td width = 200><input   type=submit name=submit value="Remove Checked Rows"></td>';

在控制器代码中

    if (isset($_POST['submit']) && $_POST['submit'] =="Remove Checked Rows"){
    if(!empty($_POST['removeCheckbox'])) {
    //deletes row from database
        foreach($_POST['removeCheckbox'] as $jsonCheck) {
                $check = json_decode($jsonCheck);
                DBSubmit("DELETE FROM paper_review WHERE paper_reviewer_id = '" . $check[0] ."' AND paperid = '" . $check[0] ."'");

            }
    }

您可以使用serialize / unserialize或任何其他方法替换json_encode / decode