使用下拉列表从表中删除

时间:2014-03-29 16:19:43

标签: php sql mysqli isset

以下代码使用其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>

问题是我无法弄清楚如何连接它们。到目前为止我尝试过的所有东西都不起作用,所以任何帮助都会被愉快地接受!

1 个答案:

答案 0 :(得分:0)

您的<select>元素应位于<form>元素内。 (顺便说一句,您应该将您的select元素从Id重命名为id,因为您希望PHP块中有Id。您也可以更改if if来检查$_POST['id']而不是$_POST['delete'] {{1}})

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

BTW:你最好将发布的id转换为整数以防止sql注入