フォーム データによる複数の MySQL 行の更新
Web 開発では、ユーザーがデータベースのレコードを編集できるフォームを使用するのが一般的です。一般的なシナリオは、変更されたデータで同じテーブル内の複数の行を更新することです。これは、PHP と MySQL を使用して実現できます。
フォームの構造とデータの取得
最初のフォームは、編集するデータを表示する役割を果たします。この例では、フォームは特定の GALLERY_id を持つすべての写真をデータベースから取得し、写真のタイトルとタグを変更するためのフィールドとともに表示します。
データの送信と更新
]フォームが送信されると、データは処理のために PHP スクリプトに送信されます。スクリプトは、foreach ループを使用して、投稿されたデータを反復処理し、写真 ID、タイトル、およびタグの値を抽出します。
プリペアド ステートメントによる行の更新
次ステップは、データベース内の一致する行を更新することです。このために、準備されたステートメントが使用されます。
ループ オーバー フォーム配列
複数の行を更新できるようにするために、HTML フォーム フィールドは配列として送信されます。これは、フィールド名に [] 表記を使用することで実現されます:
echo "PHP スクリプトでは、これらの配列は foreach ループを使用してアクセスされ、スクリプトがデータを反復処理し、それに応じて各行を更新できるようになります。
例コード
更新された 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)); }
これらの手順に従うことで、フォーム データを効果的にポストし、MySQL テーブル内の複数の行を更新できます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3