2013-12-16 61 views
0

我有一個表格,其中填充了來自MySQL數據庫的數據,並且每行都接收到它自己的刪除按鈕。我想要刪除每個行的刪除按鈕,刪除數據庫中相應的行。我會怎麼做呢?以下是我所需要的代碼部分,這似乎不起作用。PHP中的「刪除行」按鈕

if(isset($_POST['id'])) { 
$id = $_POST['id']; 
$delete = mysql_query($conn,"DELETE FROM mods WHERE id = '$id'"); 
} 

忽略不重要的代碼。

表/表創建:

echo "<td><form action=\"\" method=\"post\"></td>"; 
    echo "<tr class='modlist'>"; 
    echo "<td>".$row['id']."</td>"; 
    echo "<td><div class=\"edit\" id=\"div_1\">".$row['title']."</div></td>"; 
    echo "<td><div class=\"edit\" id=\"div_2\"><a href=".$row['mod_url'].">".$row['mod_url']."</a></div></td>"; 
    echo "<td><div class=\"edit\" id=\"div_3\">".$row['developer']."</div></td>"; 
    echo "<td><div class=\"edit\" id=\"div_4\">".$row['type']."</div></td>"; 
    echo "<td><div class=\"edit\" id=\"div_5\">".$v162."$nbsp".$v164."$nbsp".$v172."</div></td>"; 
    echo "<td><div class=\"edit\" id=\"div_6\">".$row['title'].",$nbsp".$row['developer']."</div></td>"; 
    echo "<td><div id=\"save\"><input type=\"submit\" name=\"save\" value=\"Save\"></div></td>"; 
    echo "<td><div id=\"delete\"><input type=\"submit\" name=\"delete\" value=\"Delete\"></div></td>"; 
    echo "</tr>"; 
    echo "</form>"; 
    } 

預先感謝。

回答

2

表單操作需要使用名稱'id'進行控制,否則$ _POST將不會獲得任何標識。

你可以不喜歡它<input type="hidden" name="id" value=".$row['id']." />

另外,我建議你看看How can I prevent SQL injection in PHP?爲您的形式,由您所顯示的代碼,看起來完全處於弱勢。

UPDATE

你還必須解決您的$delete查詢像NL-X提到:

$delete = mysql_query("DELETE FROM mods WHERE id = '$id'", $conn); 
+0

我在表單中添加了行,以及上面所說的全部內容,但仍然沒有運氣刪除行,有什麼想法? – swiftsly

+0

是@swiftsly,我更新了我的帖子。 – zurfyx

+0

我也使用/添加了他的變化,但仍然沒有運氣。表單動作是否由你提供的代碼清空,或者我應該有什麼東西?我現在有'action ='「。$ _ SERVER ['PHP_SELF']。」''在這種情況下,它似乎和空白的動作一樣。 – swiftsly

3

您有mysql_query()向後的參數。首先傳遞查詢,然後傳遞$ conn。

$delete = mysql_query("DELETE FROM mods WHERE id = '$id'", $conn); 

但請注意,您現在有SQL注入問題!在使用之前清理$ id!

$id = mysql_real_escape_string($id); 

,並考慮使用mysqliPDO(和使用參數化查詢),作爲mysql_*已被棄用!

+1

+1用於暗示使用mysqli或PDO。你最好早點學習(並使用)它,而不是晚點。 – ryryan

+1

@swiftsly也看看傑瑞的答案。這也很重要! –

+0

@ nl-x好了,我修復了查詢,添加了對$ id的清理,並將其更改爲mysqli,但仍不會刪除該行。有任何想法嗎? – swiftsly