0

我想从 mysql 数据库中删除一行。我要删除的行是组合框中的“选定项目”。

到目前为止我的代码:

    $sql = "SELECT data_id FROM projects";
    $result = mysql_query($sql);

    echo "<select name='data_id '>";
    echo "<option selected>Please select...</option>";
    while ($row = mysql_fetch_array($result)) 
    {
        echo "<option value='" . $row['data_id '] . "'>" . $row['data_id'] . "</option>";
    }
    echo "</select>";

    ?>
    <tr><td><input type="submit" name="delete" value="Delete" id="delete"></td></tr></tr></table>
    <?php
     //delete selected item from projects table...
    ?>

组合框显示了我的项目表中的所有项目。当我选择一个项目时,然后单击“删除”,我想从表中删除该项目。

任何帮助将不胜感激。

在此处输入图像描述

4

3 回答 3

1

我不明白他们为什么建议您使用ajax,而您可以制作简单的表格

<form method="post" action="">
<tr><td>
//SOME PHP where you obtain from the database the data_id (this you have done already)
    <option value='" . $row['data_id '] . "'>" . $row['data_id'] . "</option>
//    
<input type="submit" name="delete" value="Delete" id="delete">
</td></tr>
</form>

并在 HTML 之前的顶部的同一页面上

<?php
if(isset($_POST['delete']) {
//and now mysql DELETE FROM .... WHERE id = $_POST['data_id']
//dont forget to escape and use mysli instead of mysql
}
?>

顺便提一句。不要使用 mysql_* 它已弃用,+ 转义 mysql 中的所有内容 + 当您不需要数组时不要使用 fetch_array, fetch_assoc 很好;)希望有所帮助。

于 2013-07-18T23:50:12.593 回答
0

你的逻辑应该是:

在 html 之前的脚本顶部,检查表单中的 POST 值是否存在,使用变量删除适当的数据库值使用 header('location') 回到同一页面以重新加载页面(因此值从下面的表单中删除)

你有你的选择框,把它做成一个表格,action=same page,method=post

明天我会发布示例代码,如果你还没有解决的话

于 2013-07-18T23:48:06.600 回答
0

首先,您使用的所有类型为 submit 并且您需要一个表单,当您使用选项时,您需要设置一个值或选项 1 2 3

如果您想删除数据库中的特定行并假设 id 为 1 所以它是第一行,请这样做

if(isset($_GET['to_be_deleted']))
{
$id=mysql_real_escape_string($_GET['to_be_deleted']);
mysql_query("DELETE FROM name_table where id='$id'");
}

如果我的回答不好,请向我询问更多详细信息

于 2013-07-18T23:50:23.097 回答