PHP フォームに削除ボタンを追加して MySQL テーブルから行を削除する方法
P粉174151913
2023-08-22 12:47:47
<p>MySQL テーブルの結果を HTML テーブルに出力しました。最後の列では、別のフォームを呼び出して MySQL テーブルからユーザーを削除する削除オプションを追加します。しかし、うまくいかないようです。</p>
<p>これは結果ページのコードです: </p>
<pre class="brush:php;toolbar:false;"><?php
$contacts = mysql_query("
SELECT * FROM 連絡先 ORDER BY ID ASC") または die( mysql_error() );
// 結果があれば
if( mysql_num_rows( $contacts ) > 0 )
?>
<table id="連絡先リスト">
<頭>
<tr>
<th>名前</th>
<th>メール</th>
電話番号 |
住所 |
<th>削除</th>
</tr>
</頭>
<みんな>
<?php while( $contact = mysql_fetch_array( $contacts ) ) : ?>
<tr>
<td class="連絡先名"><?php echo $contact['name']; ?></td>
<td class="連絡先メールアドレス"><?php echo $contact['メールアドレス']; ?></td>
<td class="連絡先電話"><?php echo $contact['電話']; ?></td>
<td class="連絡先アドレス"><?php echo $contact['アドレス']; ?></td>
<td class="contact-delete"><form action='delete.php' method="post">
<input type="hidden" name="name" value="">
<input type="submit" name="submit" value="削除">
</form></td>
</tr>
<?php endwhile; ?>
</tbody>
</table></pre>
<p>これは私の delete.php スクリプトです: </p>
<pre class="brush:php;toolbar:false;"><?php
//クエリを定義する
$query = "連絡先から削除 WHERE name={$_POST['name']} LIMIT 1";
// エントリを削除するクエリを送信します
mysql_query ($query);
if (mysql_affected_rows() == 1) {
//削除に成功した場合
?>
<strong>連絡先が削除されました</strong><br /><br />
<?php
} それ以外 {
//削除に失敗した場合
?>
<strong>削除に失敗しました</strong><br /><br />
<?php
}
?></pre>
<p>なぜこれが機能しないのかわかりません。 </p>
JavaScript を使用する
リーリーdelete.php内
リーリーそして SQL ステートメントに $id を入力します。
削除リンクには変数を渡す必要があります。
<?php echo $contact['name']; ?>
(name
value) を隠しフィールドに渡すか、この値をURL# に渡す必要があります。 ##:
と置換する ###### リーリー ######使用###### リーリー