我有一个复选框数组,我立即编辑以设置'tinyint'字段。问题出现在我取消选中复选框并将vales发布到mysql时。因为它发布了一个复选框数组和另一个平行的数组值列表,所以取消选中复选框会导致0
值被PHP_POST忽略,因此复选框数组将少于表单中未选中值的数量,而数组将被编辑将具有表单中的所有记录。php mysql并行数组复选框
这里是提交代码
while($row=mysql_fetch_array($result))
{
$checked = ($row[active]==1) ? 'checked="checked"' : '';
...
echo "<input type='hidden' name='TrID[]' value='$TrID'>";
echo "<input type='checkbox' name='active1[]' value='$row[active]''$checked' >";
...
和处理PHP脚本
$userid = ($_POST['TrID']);
$checked= ($_POST['active']);
$i=0;
foreach ($userid as $usid)
{
if ($checked[$i]==1){
$check = 1;
}
else{
$check = 0;
}
$qry1 ="UPDATE `epapers`.`clientelle` SET `active` = '$check' WHERE `clientelle`.`user_id` = '$usid' ";
$result = mysql_query($qry1);
$i++;
}
问题是,没有任何东西POST的未选中的复选框... – Franz 2010-03-24 15:56:53