0

私の目標は、SELECT * FROMアスリートなどのテーブル全体を表示し、テーブル出力の各行にボタンを含めることです。これを押すと、その行がデータベースから削除されます。

私は別の投稿をフォローしましたが、以下に示すのは私がこれまでに持っているものですが、機能しません:

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

}

ただし、これは機能しません。誰もが理由を知っていますか。注: ログイン資格情報を省略しましたが、ファイル内の別の場所でデータベースに接続しています。

4

2 に答える 2

1

最も可能性の高い原因は、$_POST['Delete'] のチェックで、送信ボタンに「削除」の属性「名前」が指定されていないことです。ただし、上記でコメントアウトした行は機能するはずですか?

于 2012-09-04T22:45:46.983 に答える
0

この辺は調べたほうがいいと思います

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

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

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

以下を含める必要があります。<input type='submit' name="Delete" value='Delete' />

これで問題は解決するはずです。

于 2014-09-19T18:30:48.690 に答える