2012-09-04 86 views
0

我的目標是顯示整個表,例如SELECT * FROM athlete,並在表輸出中顯示每行的include按鈕,當按下該按鈕時,將從數據庫中刪除該行。PHP按鈕刪除MYSQL表中的一行輸出

我按照另一篇文章,並顯示如下是我到目前爲止,但不工作:

//if(isset($_POST['delete_id']) && (!empty($_POST['delete_id']))) 
if(isset($_POST['Delete'])){ 

$delete_id = mysql_real_escape_string($_POST['delete_id']); 
echo("deletebutton" . $delete_id); 
//mysql_query("DELETE FROM KeepScores WHERE `id`=".$delete_id); 
//header('Location: main.php'); 
} 

else 
{ 
$query = 'SELECT * FROM athlete'; 
$result = mysql_query($query); 


$self = $_SERVER['PHP_SELF']; 
$self = htmlentities($_SERVER['PHP_SELF']); // strip tags to improve security 

echo("<table> 
<tr> 
<td> id </td> 
<td>last name</td> 
<td>first name</td> 
<td>delete data</td> 
</tr>"); 

while($row = mysql_fetch_array($result)) 
{ 
$id = $row['id']; 

echo("<tr>"); 
     echo("<td>" . $row['id'] . "</td>"); 
     echo("<td>" . $row['lastName'] . "</td>"); 
     echo("<td>" . $row['firstName'] . "</td>"); 
     echo("<td> <form action='$self' method='post'> 
       <input type='hidden' name='delete_id value='$id' /> 
       <input type='submit' value='Delete' /> 
      </form> 
     </td> 
    </tr>"); 
} 
mysql_free_result($result); 
echo("</table>"); 

} 

然而,這是行不通的。有誰知道爲什麼。注意:我已經將我的登錄憑據保留了出來,但是我正在連接到文件中其他地方的數據庫。

+0

只是一個側面說明'name ='delete_id'沒有得到很好的報價 – codingbiz

+0

你說的‘不工作’是什麼意思?它會給你一個錯誤信息嗎?顯示空白屏幕?打印出這些信息?點擊按鈕時不刪除?刪除錯誤的記錄? – andrewsi

回答

1

最可能的原因是,你的$ _ POST檢查[「刪除」]已經沒有給出任何的提交按鈕「刪除」的屬性「名」的。但是,上面註釋過的行應該起作用嗎?

0

我想你應該看看這個領域

//if(isset($_POST['delete_id']) && (!empty($_POST['delete_id']))) 

如果(isset($ _ POST [ '刪除'])){

<input type='submit' value='Delete' /> 

您應該包括:<input type='submit' name="Delete" value='Delete' />

這應該解決問題。