[英]Delete selected row from database
我想從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...
?>
組合框顯示了我的項目表中的所有項目。 當我選擇一個項目時,然后單擊“刪除”,我想從表格中刪除該項目。
任何幫助將不勝感激。
我不明白為什么他們建議您使用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很好;)希望能有所幫助。
您的邏輯應為:
在html之前的腳本頂部,檢查表單中的POST值是否存在,使用變量刪除適當的數據庫值,使用header('location')返回到同一頁面以重新加載該頁面(因此從下面的表單中刪除了值) )
您在其中具有選擇框的位置,使該表單,action =同一頁,method = post
明天,如果您尚未解決示例代碼,我將發布示例代碼
首先,您要使用的所有類型都是提交,然后您需要一個表單,使用選項時,您需要設置一個值或選項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'");
}
如果我的回答不好,請向我詢問更多詳細信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.