在PHP中捕获复选框值

时间:2012-01-04 04:15:57

标签: php checkbox

我遇到了一些问题,我认为它们有些相互关联。

我正在尝试做的简要总结。我正在进行SQL查询,我正在遍历结果以构建用户表。那么我正在尝试完成的是管理员能够通过简单的按钮点击激活和暂停用户。话虽如此,让我展示一下我遇到的问题。

1)我在定义输入类型时遇到问题,因此每个行复选框值attibute与用户db id相同。然后使用类似于$var .= whatever; var .= whatever2;等的语法在while循环内构造表,这是复选框放置在每行开头的方式。

<input type=\"checkbox\" name=\"checkbox[]\" id='' value=\"{$row['memberid']>\" />

2)我在捕获检查复选框的值时遇到问题。此代码显示在结束表标记之后但在结束表单标记之前

$checkBox = $_POST['checkbox'];
for($i=0; $i<sizeof($checkBox); $i++){
    $sus_id = $checkbox[$i];
    $sql = "UPDATE sometable SET somecolumn='1' WHERE id='$sus_id'";
    $result = mysql_query($sql);
    mysql_query($query) or die(mysql_error());
}
if($result){
    echo "<meta http-equiv=\"refresh\" content=\"0;URL=somepage.php\">";
}

任何帮助都将非常感谢!

3 个答案:

答案 0 :(得分:1)

请尝试查看以下链接中的示例。

http://www.html-form-guide.com/php-form/php-form-checkbox.html

http://www.kavoir.com/2009/01/php-checkbox-array-in-form-handling-multiple-checkbox-values-in-an-array.html

并为复选框提及不同的“名称”。使用大括号{}和方括号(),[] ..

检查值是否正确关闭

答案 1 :(得分:0)

<?php
if(isset($_POST['checkbox'])) {
    $checkBox = $_POST['checkbox'];
    for($i=0; $i<sizeof($checkBox); $i++){
        $sus_id = $checkbox[$i];
        //$sql = "UPDATE sometable SET somecolumn='1' WHERE id='$sus_id'";
        //$result = mysql_query($sql);
        //mysql_query($query) or die(mysql_error());
        echo "Value ==>"."$sus_id"."<br/>";
    }
}
?>

<form method=post action="">
    <input type="checkbox" name="checkbox[]" id='' value="1" /> 1
    <input type="checkbox" name="checkbox[]" id='' value="2" /> 2
    <input type="checkbox" name="checkbox[]" id='' value="3" /> 3
    <input type="submit" name="submit" value="22">
</form>

此外你还想做什么

mysql_query($query) or die(mysql_error());

希望它有所帮助。

答案 2 :(得分:0)

所以我想我已经进一步想出来了。

1)回答我提出的第一个问题:

$usertable .= "<td style=text-align:center;> <input type=\"checkbox\" name=\"checked[]\" id='' value={$row['member_id']} /></td>";

其他人自己出去了!谢谢!