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


PHP buttons to delete a row in MYSQL table output

我的目标是显示整个表,例如SELECT*FROM运动员和表输出中每行的include按钮,按下该按钮将从数据库中删除该行。

我关注了另一个帖子,下面显示的是我到目前为止所做的,但没有工作:

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

然而,这并不奏效。有人知道为什么吗。注意:我没有输入登录凭据,但我正在连接到文件中其他位置的数据库。

最可能的原因是您检查$_POST['Delete']时没有为任何提交按钮指定'Delete'的属性'name'。然而,你在上面评论的那一行应该行吗?

我认为你应该研究一下

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

if(isset($_POST[删除]){

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

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

这应该能解决问题。