ホームページ > バックエンド開発 > PHPチュートリアル > フォームを使用して MySQL データベース内の複数の行を更新するにはどうすればよいですか?

フォームを使用して MySQL データベース内の複数の行を更新するにはどうすればよいですか?

DDD
リリース: 2024-11-05 14:59:02
オリジナル
418 人が閲覧しました

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

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

問題:

特定のギャラリー ID を持つすべての写真を取得し、ユーザーがタイトルとタグを更新できるようにするフォーム。ただし、現在のコードはデータベース内の行を更新していません。

フォーム構造:

フォームは、写真を更新するための入力フィールドを備えた HTML リストの写真を生成します。タイトル、タグ、ID を識別するための隠しフィールド。

更新クエリ:

更新クエリは送信された各フォームを反復し、写真ごとに個別の UPDATE ステートメントを実行します。 。ただし、コーディングされているように、クエリはフォーム データに正しくアクセスできません。

解決策:

複数の行を正常に更新するには、フォーム データを送信する必要があります。

フォーム更新:

値を配列として送信するように入力フィールドを変更します:

echo "<input type='text' name='photo_title[]' value='$title' /><br />";
echo "<input type='text' name='photo_tags[]' value='$tags' />";
echo "<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 id=?";
    $query = $db->prepare($sql);
    $query->execute(array($title, $tags, $id));
}
ログイン後にコピー

この更新されたコードは、送信されたフォーム データを正しくループし、更新された値を抽出します。 、各写真に対して UPDATE ステートメントを実行し、MySQL データベース内の複数の行を正常に更新します。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート