【问题标题】:Deleting from a table using a dropdown list使用下拉列表从表中删除
【发布时间】:2014-03-29 16:19:42
【问题描述】:

以下代码使用他们的 id 显示艺术家列表(他们存储在 Artists 表中)。我没有设法做的是通过在下拉列表中选择艺术家来删除他。

如果按下删除按钮,代码如下:

 if (isset($_POST['delete'])) { 

 $id = $_POST['id'];

 $deleteAlbumSqlQuery = "delete from Artists where Id = $id";

 $deleteResult = mysqli_query($mysqli, $deleteAlbumSqlQuery) or die ($deleteAlbumSqlQuery . " " .    mysqli_error($mysqli));

$display_html .= "Artist " . $id . " Deleted!"; }

这里是下拉列表的代码:

        $sql = 'Select Id, Name from Artists order by Name';
        $result2 = mysqli_query($mysqli,$sql);
        ?>
        <select name="Id"> <?php
        if (mysqli_num_rows($result2) > 0) {

            while ($data = mysqli_fetch_array($result2)) {
                        $cid = $data['Id'];
                        $cname = $data['Name']; ?>
                        <option value="<?php echo $cid; ?>">  <?php echo $cname; ?> </option> <?php
            }                   
        }
?>      
            </select>

问题是我不知道如何连接它们。到目前为止我尝试过的一切都没有奏效,所以任何帮助都会很高兴地接受!

【问题讨论】:

    标签: php sql mysqli isset


    【解决方案1】:

    您的&lt;select&gt; 元素应位于&lt;form&gt; 元素内。 (顺便说一句,您应该将您的选择元素从Id 重命名为id,因为您在PHP 块中期望Id。您也可以更改if 块以检查$_POST['id'] 而不是$_POST['delete']

    然后,您应该提交此表单via javascript 或使用提交按钮。

    顺便说一句:您最好将发布的 id 转换为整数以防止 sql 注入

    【讨论】:

      猜你喜欢
      • 2021-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-15
      • 1970-01-01
      • 1970-01-01
      • 2015-09-17
      • 1970-01-01
      相关资源
      最近更新 更多