我在获取表单以更新从复选框传递的信息时遇到问题。我得到了这个代码。
$one = isset($_POST['one']) ? 'on' : 'off'; 只要我单独调用每个复选框,这就很有效。我的问题是我总共有大约200个复选框。
这是我用来UPDATE的代码。有没有人能帮我找出在我现在的代码中插入代码的位置?我尝试过各种各样的变种。
if($_POST['submit']){
if(!empty($applicant_id)){
$sql = "UPDATE play SET ";
foreach($_POST as $key => $value){
if(($key != 'submit') && ($key != 'applicant_id')){
$sql .= $key. " = '$value',";
}
}
$sql = substr($sql, 0, -1);
$sql .= " WHERE ".$applicant_id." = $applicant_id";
$result = mysql_query($sql,$db) or die(mysql_error(). "<br />SQL: $sql");
}
} 发布于 2009-08-31 07:29:40
您应该使用数组名称,它将是PHP中的数组。
正如ndp所说,如果未选中某个复选框,则不会传输其值。因此,您需要在复选框输入字段之前使用具有相同名称的隐藏输入字段,并使用"off“值。
<label for="one">One</label>
<input type="hidden" name="checkboxes[one]" value="off"/>
<input type="checkbox" name="checkboxes[one]" id="one" value="on"/>记住,如果checked=默认设置为on,请记住它是“checked”。
现在可以使用POST或GET循环复选框
foreach ($_POST['checkboxes'] as $key => $value) {
//something
}https://stackoverflow.com/questions/1355155
复制相似问题