ホームページ  >  記事  >  バックエンド開発  >  PHP を使用してフォーム データで複数の MySQL 行を更新するにはどうすればよいですか?

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

Susan Sarandon
Susan Sarandonオリジナル
2024-11-07 06:43:03544ブラウズ

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 "<input type='text' name='photo_title[]' value='$title' />";

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

コード例

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

<code class="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));
}</code>

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

以上がPHP を使用してフォーム データで複数の MySQL 行を更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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