0

我以前提交过这个问题,但没有解决。我已经在我正在尝试构建的网站的其他部分工作,我又回到了这个问题。以下是OP;是上一个问题。

我已经阅读了这篇文章和这篇文章,看起来最相似,但它并没有解决我的问题。

我有下面的while循环来显示我的数据库中的结果。while 循环中的具体问题是这样的(注意:它在一个表单内):

while($row = mysqli_fetch_array($result)){
<input type='checkbox' name='check_box_delete[]' value='".$row['BookingNo']."'>
}

除了复选框之外,其余的表单数据都可以通过。在下面的 php 页面中,我有这个:

if(isset($_POST['check_box_delete'])){
    foreach($_POST['check_box_delete'] as $id){
        $sql="DELETE FROM bookings WHERE BookingNo='".$id."'";
        if (!mysqli_query($con,$sql)){
            die('Error: ' . mysqli_error($con));
        }
    echo $id." deleted.";
}

页面回显deleted但没有关联的 $id。我怀疑我的 processor.php 根本没有得到预订号。

干杯

4

1 回答 1

0

您的表单发送到的页面似乎没问题,除了 $id 在循环之外。以下对我有用。

<form action = "process.php" method = "POST">

<?php
$mysqli = new mysqli("localhost", "root", "", "dbname");

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT * FROM tablename";
$result = $mysqli->query($query);

while($row = mysqli_fetch_array($result)){
    echo "<input type='checkbox' name='check_box_delete[]' value='".$row['BookingNo']."'>";
}

?>

<input type = "submit">

</form>

然后处理.php

<?php

if(isset($_POST['check_box_delete'])){
    foreach($_POST['check_box_delete'] as $id){
        $sql="DELETE FROM bookings WHERE BookingNo='".$id."'";
        if (!mysqli_query($con,$sql)){
            die('Error: ' . mysqli_error($con));
        }
        echo $id." deleted.<br>";
    }
}

?>
于 2013-10-24T04:45:39.037 回答