php - 当我单击按钮时,如何识别 php 中的下拉列表值并在 MySQLi 中删除它?

标签 php mysql mysqli drop-down-menu

我制作了一个下拉列表。列表中有汽车的名称。 我想从 MySQLi 中删除下拉列表中选择的那辆车。 例如,我的数据库中有四辆车:car_id,car_name。 1、奥迪; 2、宝马; 3、马自达; 4、法拉利。

下拉列表中出现了四辆车,如果我选择宝马,我想从数据库中删除。

我制作了下拉列表:

<?php
echo "<br/>";

$result = $db->query("SELECT car_id, car_name FROM cars");

    echo "<html>";
    echo "<body>";
    echo "<select name='id'>";

    while ($row = $result->fetch_assoc()) {
        unset($id, $name);
        $id = $row['car_id'];
        $name = $row['car_name']; 
        echo '<option value="'.$id.'">'.$name.'</option>';
    }
    echo "</select>";
    echo "</body>";
    echo "</html>";
?>

删除按钮表单:

<form action="<?php echo $_SERVER["PHP_SELF"] ?>" method="POST">
<table>
<tr>
<td colspan="1"><input type="submit" name="Delete" value="Delete" /></td>
</tr>
</table>
</form>

删除代码:

<?php
if(isset($_POST['Delete'])) {
mysqli_query($db, "DELETE FROM cars where car_name = '$name' ");
}
?>

问题是它删除了数据库中的最后一个值,而不是我在下拉列表中选择的值。

最佳答案

将 select 包裹在 from 中,并获取汽车的 id 而不是名称。

<?php
 //  get the id of the selected car.
if (isset($_POST['Delete'])) {
    $id = $_POST['id'];
    mysqli_query($db, "DELETE FROM cars where car_id = '$id' ");
}
$result = $db->query("SELECT car_id, car_name FROM cars");
?>
<html>
<body>
<form action="<?php echo $_SERVER["PHP_SELF"] ?>" method="POST">
    <select name='id'>
        <?php while ($row = $result->fetch_assoc()) {
            unset($id, $name);
            $id = $row['car_id'];
            $name = $row['car_name'];
            echo '<option value="' . $id . '">' . $name . '</option>';
        }

        ?>
        <input type="submit" name="Delete" value="Delete">
</form>
</select>
</body>
</html>

关于php - 当我单击按钮时,如何识别 php 中的下拉列表值并在 MySQLi 中删除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44095493/

相关文章:

php - 为什么我无法访问我的管理界面?

php - ZF2 中的跨数据库

php - 目标机主动拒绝mysqli数据库连接

php - 该值未插入到数据库中

javascript - 将 URL 作为发布数据传递时,jQuery ajax 返回 404 错误

php - 在 MySQLi 准备好的语句中,STMT 代表什么?

php - 找到所有可能的交换卡的方法

php - 无重复且无 "classic"排序计算所有 n 大小的排列

php - 何时在 Laravel 中使用 Eloquent 模型

php - 为什么 mysqli 给出 "Commands out of sync"错误?