PHP アプリケーションでは、データベースの操作が一般的なタスクです。データベース内の複数のデータ行を削除する必要がある状況は数多くあります。一括削除です。この記事では、PHP で一括削除操作を実装する方法を説明します。
まず、データベースに接続する必要があります。次の関数を使用します:
$conn = mysqli_connect("localhost", "my_user", "my_password", "my_db");
これにより、「my_db」という名前のデータベースに接続されます。これを独自のデータベース名に変更し、正しいユーザー名とパスワードを入力する必要があります。
バッチ削除の前に、ユーザーが選択したデータ行を取得する必要があります。このプロセスでは、HTML フォームと JavaScript コードを使用する必要があります。
以下はサンプル HTML フォームです:
<form method="post" id="deleteForm"> <table> <thead> <tr> <th>ID</th> <th>Name</th> <th>Delete</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>John</td> <td><input type="checkbox" name="ids[]" value="1"></td> </tr> <tr> <td>2</td> <td>Jane</td> <td><input type="checkbox" name="ids[]" value="2"></td> </tr> <tr> <td>3</td> <td>Bob</td> <td><input type="checkbox" name="ids[]" value="3"></td> </tr> </tbody> </table> <button type="submit">Delete</button> </form>
このフォームにはチェックボックスの列があり、それぞれに一意の値 (行 ID) が付いています。ユーザーが削除するデータの行を選択すると、それらの行の ID が「ids[]」という名前のフォーム要素に追加されます。複数の値を選択するため、名前は配列です。
ここで、ユーザーが選択した値を取得し、それを舞台裏の PHP スクリプトに渡すための JavaScript コードを記述する必要があります。
document.getElementById('deleteForm').addEventListener('submit', function(event) { event.preventDefault(); var selected = document.getElementsByName('ids[]'); var ids = []; for (var i = 0; i < selected.length; i++) { if (selected[i].checked) { ids.push(selected[i].value); } } // Send selected ids to PHP script for processing var request = new XMLHttpRequest(); request.open('POST', 'delete.php', true); request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); request.onload = function() { if (request.status >= 200 && request.status < 400) { // Success console.log(request.responseText); } else { // Error console.log('Error'); } }; request.onerror = function() { // Connection error console.log('Connection Error'); }; request.send('ids=' + JSON.stringify(ids)); });
このコードは、ユーザーが「削除」ボタンをクリックしたときに実行される「送信」イベント リスナーを設定します。まず、「ids[]」という名前のチェックボックスをすべて取得します。次に、ユーザーが選択した行 ID を含む配列を作成します。次に、AJAX を使用して、識別子の配列を「delete.php」という名前の PHP スクリプトに送信します。最後に、スクリプトが応答を返すと、応答の内容がコンソールに表示されます。
次に、リクエストを処理するための PHP コードを記述する必要があります。上記の JavaScript コードでは、識別子の配列を JSON 文字列としてスクリプトに送信します。 PHP では、次のコードを使用して JSON 文字列を PHP 配列にデコードできます:
$ids = json_decode($_POST['ids']);
次に、ループを使用して各データ行を削除する必要があります:
foreach ($ids as $id) { $sql = "DELETE FROM users WHERE id=$id"; mysqli_query($conn, $sql); }
このループは反復されます。 ID ごとに から までを実行し、SQL クエリを使用して、「users」テーブルから対応する行を削除します。
完全な PHP スクリプトは次のとおりです:
このスクリプトでは、最初にデータベースに接続し、次に文字配列は PHP 配列にデコードされます。次に、ループを使用して各データ行を削除します。最後に、成功メッセージを出力します。
この記事では、PHP でバッチ削除操作を実装する方法を学びました。 HTML フォームと JavaScript コードを使用してユーザーが選択したデータ行を取得し、PHP コードを使用してリクエストを処理します。一括削除は多くの場合必要な機能であり、PHP アプリケーションでは、ここで説明した手法を使用して簡単に実装できます。
以上がPHPでの一括削除の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。