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 サイトの他の関連記事を参照してください。