2014-03-24 29 views
0

我的PHP代碼的一部分被刪除僅第一個上的SQL,而不是選擇一個「後」:如何刪除所選文章?

if (isset ($_POST['delete'])){ 
     $result = mysql_query ("SELECT * FROM posts") or die(mysql_error()); 
     $data = mysql_fetch_array($result); 
     mysql_query ("DELETE FROM posts WHERE id = $data[id]"); 
     header("Location: main.php"); 
    }; 

這究竟是爲什麼?

+0

你的代碼中有一些奇怪的東西在裏面。 'id'不是變量或值。你在第二個查詢中使用'$ result [id]',這根本不應該工作。 – puelo

+0

sry錯誤的副本:DD –

回答

0

一步一步來,這是你在做什麼又名爲什麼發生這種情況:

1)檢查後變量刪除設置:

if (isset ($_POST['delete'])){ 

2)獲取從數據庫中的所有帖子:

$result = mysql_query ("SELECT * FROM posts") or die(mysql_error()); 

3)取的第一項從$結果陣列的

$data = mysql_fetch_array($result); 

4)刪除的項目,我們只是拿來

mysql_query ("DELETE FROM posts WHERE id = $data[id]"); 

5)重定向到main.php

header("Location: main.php"); 
+1

我已經低估了我的問題在第3步,但我該如何解決它? 剛剛開始學習PHP的幾天,因爲是如此noob:sdk –

+0

你的問題是最終,你不需要任何東西,但步驟1和步驟4.你應該知道你刪除的id,只需要運行該聲明。沒有理由道歉:p – skrilled

+1

好的非常感謝你的幫助和解釋,我已經做到了:D –