ホームページ  >  記事  >  バックエンド開発  >  PHPでの一括削除

PHPでの一括削除

PHPz
PHPzオリジナル
2023-05-07 12:02:07600ブラウズ

PHP アプリケーションでは、データベースの操作が一般的なタスクです。データベース内の複数のデータ行を削除する必要がある状況は数多くあります。一括削除です。この記事では、PHP で一括削除操作を実装する方法を説明します。

  1. データベースへの接続

まず、データベースに接続する必要があります。次の関数を使用します:

$conn = mysqli_connect("localhost", "my_user", "my_password", "my_db");

これにより、「my_db」という名前のデータベースに接続されます。これを独自のデータベース名に変更し、正しいユーザー名とパスワードを入力する必要があります。

  1. 選択されたデータ行の取得

バッチ削除の前に、ユーザーが選択したデータ行を取得する必要があります。このプロセスでは、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 スクリプトに送信します。最後に、スクリプトが応答を返すと、応答の内容がコンソールに表示されます。

  1. 削除リクエストの処理

次に、リクエストを処理するための 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」テーブルから対応する行を削除します。

  1. 完全なコード例

完全な PHP スクリプトは次のとおりです:

このスクリプトでは、最初にデータベースに接続し、次に文字配列は PHP 配列にデコードされます。次に、ループを使用して各データ行を削除します。最後に、成功メッセージを出力します。

  1. 概要

この記事では、PHP でバッチ削除操作を実装する方法を学びました。 HTML フォームと JavaScript コードを使用してユーザーが選択したデータ行を取得し、PHP コードを使用してリクエストを処理します。一括削除は多くの場合必要な機能であり、PHP アプリケーションでは、ここで説明した手法を使用して簡単に実装できます。

以上がPHPでの一括削除の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。