-1

可能的重复:
处理选中的复选框 PHP

我有这个问题。我有一个显示汽车注册号的网页,这是违规的。我们可以将违规状态从 1=未处理更改为 2=处理。我想使用多个复选框来选择我想要更改的汽车注册状态这是我的网页截图

)

我如何更改两个汽车注册号的状态?这是我的网页代码

 <div id="content">
    <div class="content_item">
    <?php
       $con = mysql_connect("localhost","fpjarmul","fpjarmul");
        if (!$con)
          {
          die('Could not connect: ' . mysql_error());
          }

        mysql_select_db("fpjarmul", $con);

        $query = "SELECT * FROM laporan WHERE status = '1'";
        $result = mysql_query($query);

        while($row = mysql_fetch_array($result, MYSQL_ASSOC))
        {?>
            <form action="ubahdata.php" method="post">
                <input type="checkbox" name="idlaporan" value="<?php echo $row['idlaporan'] ?>" /><?php echo "ID : {$row['idlaporan']}" ?><br />
                <?php echo  "Nomor Polisi : {$row['platkendaraan']} <br>" .
                            "Status : {$row['status']} <br>" . 
                            "Tanggal Laporan : {$row['tanggallapor']} <br><br>"; ?>

        <?php   
        } 
        ?>  
                <input type="submit">
            </form>

这是我的脚本

 <?php include 'header.php'; ?>
 <?php
$con = mysql_connect("localhost","fpjarmul","fpjarmul");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

 mysql_select_db("fpjarmul", $con);

 $sql=("UPDATE laporan set status='2' where idlaporan='$_POST[idlaporan]'");

 if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "1 record added";
?> 
 <?php include 'footer.php'; ?>
4

1 回答 1

1

请尝试以下方法:

  1. 将复选框“名称”更改为“idlaporan[]”(<input type="checkbox" name="idlaporan[]")
  2. 提交表单后,选中的复选框值将出现在服务器端数组 $_POST['idlaporan']
  3. 使用 foreach 循环更新数据库中的值。

    foreach ($_POST['idlaporan'] as $idlaporan) {
    
        $sql=("UPDATE laporan set status='2' where idlaporan='$idlaporan'");    
        if (!mysql_query($sql,$con)) {
           die('Error: ' . mysql_error());
        }
        echo "1 record added<br/>";    
    }
    
于 2013-01-01T09:01:09.567 回答