フォーム データによる複数の MySQL 行の更新
Web 開発では、ユーザーがデータベースのレコードを編集できるフォームを使用するのが一般的です。一般的なシナリオは、同じテーブル内の複数の行を変更されたデータで更新することです。これは、PHP と MySQL を使用して実現できます。
フォームの構造とデータの取得
最初のフォームは、編集するデータを表示する役割を果たします。この例では、フォームは特定の GALLERY_id を持つすべての写真をデータベースから取得し、写真のタイトルとタグを変更するためのフィールドとともに表示します。
データの送信と更新
フォームが送信されると、データは処理のために PHP スクリプトに送信されます。スクリプトは、foreach ループを使用して、投稿されたデータを反復処理し、写真 ID、タイトル、およびタグの値を抽出します。
準備されたステートメントによる行の更新
次ステップは、データベース内の一致する行を更新することです。このために、準備されたステートメントが使用されます。これには以下が含まれます:
フォーム配列のループ
複数の行を更新できるようにするために、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 サイトの他の関連記事を参照してください。