ホームページ  >  記事  >  バックエンド開発  >  単一のフォーム送信を使用して MySQL データベース内の複数の行を更新する方法

単一のフォーム送信を使用して MySQL データベース内の複数の行を更新する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-06 02:30:02650ブラウズ

How to Update Multiple Rows in a MySQL Database Using a Single Form Submission?

MySQL を使用してフォームを投稿し、複数の行を更新する

このシナリオでは、バックエンド ユーザーがタイトルを変更できるフォームを作成することを目的としています。特定のギャラリーに関連付けられた複数の写真のタグ。フォーム送信後、これらの変更はデータベース内の選択されたすべての行に同時に適用される必要があります。

フォーム構造

提供されたコードは、ギャラリー ID を使用してデータベースから写真を取得します。タイトルとタグの入力フィールドを備えたフォームとしてそれらを表示します。これらのフィールドは、写真 ID を含む非表示の入力にリンクされています。

// Fetch photos from the database
$result = $db->prepare("SELECT * FROM photos WHERE gallery_id = :gallery_id ");
$result->bindParam(':gallery_id', $id);
$result->execute();

// Generate input fields for each photo
echo '<form action="" method="POST">';
echo "<ul id='photos'>";

for ($i = 0; $row = $result->fetch(); $i++) {
    // Get photo details
    $id = $row['id'];
    $title = $row['title'];
    $tags = $row['tags'];
    $src = $row['src'];

    // Create input fields
    echo "<li><a class='lightbox' href='images/$src'><img src='images/$src' id='$id' alt='$title' /></a><br />";
    echo "<input type='text' name='photo_title[]' value='$title' /><br />"; // ***** Adjusted the array submission *****
    echo "<input type='text' name='photo_tags[]' value='$tags' /><br />"; // ***** Adjusted the array submission *****
    echo "<input type='hidden' name='photo_id[]' value='$id' />"; // ***** Adjusted the array submission *****
    echo "</li>";
}

echo "</ul>";
echo '<div style="clear:both"></div>';

以上が単一のフォーム送信を使用して MySQL データベース内の複数の行を更新する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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