PHP でチェックボックスを使用して複数の行を削除する
ユーザーがチェックボックスを使用して MySQL データベース テーブルから複数の行を削除しようとしたときに問題が発生しました。テーブルにデータが入力されているにもかかわらず、提供された PHP コードは削除プロセスを実行しません。
この問題を解決するには、PHP コードを次のように変更する必要があります。
<input name="checkbox[]" type="checkbox" value="<?php echo $row['link_id']; ?>" />
By name 属性で [] 構文を使用すると、チェックボックスの値が配列として扱われるため、削除時にそれらを反復処理できるようになります。 process.
さらに、次のようにデータベース接続をクエリに渡す必要があります:
$result = mysqli_query($dbc, $sql);
これにより、確立されたデータベース接続を使用してクエリが実行されることが保証されます。
更新された PHP コードは次のとおりです:
... while ($row = mysqli_fetch_array($result)) { ...... // Check if delete button active, start this if (isset($_POST['delete'])) { $checkbox = $_POST['checkbox']; for ($i = 0; $i < count($checkbox); $i++) { $del_id = $checkbox[$i]; $sql = "DELETE FROM links WHERE link_id='$del_id'"; $result = mysqli_query($dbc, $sql); } ... <input name="checkbox[]" type="checkbox" value="<?php echo $row['link_id']; ?>" /> ...
これらの変更により、チェックボックス変数は選択されたリンク ID の配列になります。これを反復して削除クエリを実行できます。
以上がPHP でチェックボックスを使用して複数の MySQL 行を削除するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。