ホームページ >データベース >mysql チュートリアル >単一の HTML フォームから複数の MySQL 行を効率的に更新するにはどうすればよいですか?

単一の HTML フォームから複数の MySQL 行を効率的に更新するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-01 18:32:11433ブラウズ

How to Efficiently Update Multiple MySQL Rows from a Single HTML Form?

MySQL での複数の行の送信と更新

問題:

複数の写真レコードのデータを収集するフォームがあります, ユーザーはタイトルとタグを編集できます。目標は、データベース内の選択されたすべてのレコードを更新することです。

フォーム構造:

フォーム内には、各写真のフィールドがありますレコード:

<input type="text" name="photo_title[]" value="$title" />
<input type="text" name="photo_tags[]" value="$tags" />
<input type="hidden" name="photo_id[]" value="$id" />

更新クエリ:

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>

解決策:

で個別の入力フィールドを使用する代わりに同じ名前の場合は、フォームフィールドで配列を使用する必要があります。これにより、複数の値をキャプチャし、POST データ内でそれらの値を反復処理できるようになります。次に、準備されたステートメントと配列値を使用して、各行を個別に更新できます。

このアプローチにより、選択されたすべてのレコードが新しいタイトルとタグの値で更新されます。

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

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