我想从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...
?>
组合框显示了我的项目表中的所有项目。当我选择一个项目,然后点击“删除”我想从表中删除该项目。
任何帮助将不胜感激。
答案 0 :(得分: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很好;)希望有所帮助。
答案 1 :(得分:0)
你的逻辑应该是:
在html之前的脚本顶部,检查表单中的POST值 如果存在,请使用变量删除相应的数据库值 使用标题('location')返回同一页面重新加载页面(因此从下面的表单中删除值)
您有选择框,将其设为表格,操作=同一页面,方法=发布
明天我会发布示例代码,如果你还没有解决那么答案 2 :(得分:0)
首先关闭所有使用类型提交的内容,并且您需要一个表单,当您使用选项时,您需要设置一个值或选项 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'");
}
如果我的答案不好,请向我提出更多详情