PHP按钮删除MYSQL表输出中的一行

时间:2012-09-04 22:36:29

标签: php mysql html-table delete-row

我的目标是显示整个表格,例如SELECT * FROM athlete和包含表格输出中每一行的按钮,按下时将从数据库中删除该行。

我已经关注了另一篇文章,下面显示的是我到目前为止所做的但是不起作用:

//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>");

}

然而,这不起作用。有谁知道为什么。注意:我已将我的登录凭据保留,但我将连接到文件中其他位置的数据库。

2 个答案:

答案 0 :(得分:1)

最可能的原因是你检查$ _POST ['删除']没有给任何提交按钮提供'删除'属性'名称'。但是,您在上面注释掉的那行应该有用吗?

答案 1 :(得分:0)

我认为你应该研究这个领域

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

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

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

您应该包含:<input type='submit' name="Delete" value='Delete' />

那应该可以解决问题。