PHPでの一括削除

May 07, 2023 pm 12:02 PM

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

非ブロッキング操作にPHPで非同期タスクを使用する方法は? 非ブロッキング操作にPHPで非同期タスクを使用する方法は? Mar 10, 2025 pm 04:21 PM

この記事では、Webアプリケーションの応答性を高めるために、PHPでの非同期タスクの実行について説明します。 メッセージキュー、非同期フレームワーク(Reactphp、Swoole)、およびバックグラウンドプロセスなどの方法を詳しく説明し、Efficienのベストプラクティスを強調しています

PHPにメッセージキュー(rabbitmq、redis)を実装する方法は? PHPにメッセージキュー(rabbitmq、redis)を実装する方法は? Mar 10, 2025 pm 06:15 PM

この記事では、RabbitMQとRedisを使用してPHPでメッセージキューを実装する詳細を示します。 それは、それらのアーキテクチャ(AMQP対インメモリ)、機能、および信頼性メカニズム(確認、トランザクション、永続性)を比較します。デザインのベストプラクティス、エラー

最新のPHPコーディング基準とベストプラクティスは何ですか? 最新のPHPコーディング基準とベストプラクティスは何ですか? Mar 10, 2025 pm 06:16 PM

この記事では、PSRの推奨事項(PSR-1、PSR-2、PSR-4、PSR-12)に焦点を当てた現在のPHPコーディング基準とベストプラクティスを検証します。 一貫したスタイリング、意味のある命名、EFFを通じてコードの読みやすさと保守性を改善することを強調しています

リフレクションを使用してPHPコードを分析および操作する方法は? リフレクションを使用してPHPコードを分析および操作する方法は? Mar 10, 2025 pm 06:12 PM

この記事では、PHPの反射APIについて説明し、クラス、方法、およびプロパティのランタイム検査と操作を可能にします。 一般的なユースケース(ドキュメンテーション生成、ORM、依存関係注入)とパフォーマンスオーバーヘアに対する注意の詳細

PHP拡張機能とPECLを使用するにはどうすればよいですか? PHP拡張機能とPECLを使用するにはどうすればよいですか? Mar 10, 2025 pm 06:12 PM

この記事では、PHP拡張機能のインストールとトラブルシューティングの詳細で、PECLに焦点を当てています。 インストール手順(検索、ダウンロード/コンパイル、サーバーの再起動、再起動)、トラブルシューティングテクニック(ログのチェック、インストールの確認、

PHPでメモリ最適化手法を使用する方法は? PHPでメモリ最適化手法を使用する方法は? Mar 10, 2025 pm 04:23 PM

この記事では、PHPメモリの最適化について説明します。 適切なデータ構造を使用し、不必要なオブジェクトの作成を回避し、効率的なアルゴリズムを採用するなどの手法について詳しく説明しています。 一般的なメモリリークソース(例:除去されていない接続、グローバルv

PHPエコシステムとコミュニティを最新の状態に保つにはどうすればよいですか? PHPエコシステムとコミュニティを最新の状態に保つにはどうすればよいですか? Mar 10, 2025 pm 06:16 PM

この記事では、PHPエコシステムに最新の状態を維持するための戦略を探ります。 公式チャンネル、コミュニティフォーラム、会議、オープンソースの貢献を利用することを強調しています。 著者は、新機能と

PHP 8 JIT(Just-in-Time)コンピレーション:パフォーマンスの向上方法。 PHP 8 JIT(Just-in-Time)コンピレーション:パフォーマンスの向上方法。 Mar 25, 2025 am 10:37 AM

PHP 8のJITコンピレーションは、頻繁に実行されるコードをマシンコードにコンパイルし、重い計算でアプリケーションに利益をもたらし、実行時間を短縮することにより、パフォーマンスを向上させます。

See all articles