我想更新数据库中的一些条目,基本上我是在计算上一页中选中的复选框的数量,并将它们乘以25,然后将该值添加到数据库中的当前值。
这是我的代码:
<?php
if($_POST['code_approve'])
{
for($i=0;$i<count($_POST['checkbox']);$i++)
{
$approval_id = $checkbox[$i];
$checkboxCount = count($_POST['checkbox']);
$countx25 = $checkboxCount * 25;
$sql = "UPDATE table SET status='approved', used='processed' WHERE id='$approval_id'";
$sql2 = "UPDATE members SET balance = balance+'$countx25'";
$result2 = mysql_query($sql2);
$result = mysql_query($sql);
}
if($result)
{
echo "$countx25";
}
}
?>
似乎出于某种原因,在将$countx25插入MySQL之前,它会将其与复选框的数目相乘。不过,这个
if($result){echo "$countx25";}}
总是显示正确的值。如果我选择1,它将打印25,2将打印50,3将打印75等等,但是对于MySQL部分,如果我选择1,它将在当前值上添加25,2将添加100,3将添加225?!
这里有什么错误?
最佳答案
正如我在评论中所说。您正在为通过$u POST获得的每个复选框运行此项。如果使用count
来计数复选框,为什么还要使用for循环。移除for循环,它将按您的意愿工作。