簡體   English   中英

從數據庫中刪除選定的行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM