php - 从另一个页面上的 while 循环外部的 mysql 数据库获取表单后复选框变量

标签 php mysql checkbox

这个问题我之前已经提交过,但是没有解决。我已经致力于我正在尝试构建的网站的其他部分,并且我再次回到了这个问题。下面是OP; here是上一个问题。

我已阅读thisthis帖子,看起来最相似,但它没有解决我的问题。

我有下面的 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.";
}

页面回显已删除,但没有关联的$id。我怀疑我的processor.php根本没有获取预订号码。

干杯

最佳答案

您的表单发送到的页面看起来没问题,除了 $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>

然后是process.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>";
    }
}

?>

关于php - 从另一个页面上的 while 循环外部的 mysql 数据库获取表单后复选框变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19555997/

相关文章:

php - yii2 动态客户端验证 URL 错误 - 无法读取未定义的属性 'test'

php - 1 秒连接到 mySQL

mysql - 删除数据库中的重复值

php - 在本地和远程开发环境之间同步数据库

javascript - jQuery 单击外部元素可向上或向下移动包含选中复选框的无序列表项

javascript - 仅选择一个复选框

php - mysql重用自动递增id

php - 正则表达式删除非键盘字符

c# - 带有 mysql 数据库的简单登录表单,其用户名将出现在另一个数据库上

php - 使用 setinterval 和 mysql 数据库进行复选框状态 Ajax 刷新