「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > PHP を使用してフォーム データで複数の MySQL 行を更新するにはどうすればよいですか?

PHP を使用してフォーム データで複数の MySQL 行を更新するにはどうすればよいですか?

2024 年 11 月 8 日に公開
ブラウズ:106

How to Update Multiple MySQL Rows with Form Data Using PHP?

フォーム データによる複数の MySQL 行の更新

Web 開発では、ユーザーがデータベースのレコードを編集できるフォームを使用するのが一般的です。一般的なシナリオは、変更されたデータで同じテーブル内の複数の行を更新することです。これは、PHP と MySQL を使用して実現できます。

フォームの構造とデータの取得

最初のフォームは、編集するデータを表示する役割を果たします。この例では、フォームは特定の GALLERY_id を持つすべての写真をデータベースから取得し、写真のタイトルとタグを変更するためのフィールドとともに表示します。

データの送信と更新

]フォームが送信されると、データは処理のために PHP スクリプトに送信されます。スクリプトは、foreach ループを使用して、投稿されたデータを反復処理し、写真 ID、タイトル、およびタグの値を抽出します。

プリペアド ステートメントによる行の更新

次ステップは、データベース内の一致する行を更新することです。このために、準備されたステートメントが使用されます。

  1. 更新する値のプレースホルダーを使用した SQL クエリの準備。
  2. プレースホルダー値と実際のデータのバインド。
  3. クエリの実行。ループ内の各行。

ループ オーバー フォーム配列

複数の行を更新できるようにするために、HTML フォーム フィールドは配列として送信されます。これは、フィールド名に [] 表記を使用することで実現されます:

echo "

PHP スクリプトでは、これらの配列は foreach ループを使用してアクセスされ、スクリプトがデータを反復処理し、それに応じて各行を更新できるようになります。

例コード

更新された PHP スクリプトは次のようになります:

foreach ($_POST['photo_id'] as $key => $photo_id) {
    $id = $photo_id;
    $title = $_POST['photo_title'][$key];
    $tags = $_POST['photo_tags'][$key];

    $sql = "UPDATE photos SET title=?, tags=? WHERE id=?";
    $query = $db->prepare($sql);
    $query->execute(array($title, $tags, $id));
}

これらの手順に従うことで、フォーム データを効果的にポストし、MySQL テーブル内の複数の行を更新できます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3