我想更新数据库中的一些条目,基本上我是在计算上一页中选中的复选框的数量,并将它们乘以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循环,它将按您的意愿工作。

10-06 08:39