首頁 >後端開發 >php教程 >如何使用發佈的表單資料更新 MySQL 中的多行?

如何使用發佈的表單資料更新 MySQL 中的多行?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-06 02:10:03391瀏覽

How to Update Multiple Rows in MySQL with Posted Form Data?

使用MySQL 中發布的表單資料更新多行

當處理需要更新資料庫中多行的表單時,必須處理資料提交正確。本文介紹了一個特定場景,其中使用表單收集多張照片的資訊(標題和標籤)並更新 MySQL 資料庫中的記錄。

表單

該表單收集連結到特定圖庫 ID 的每張照片的資料。對於每張照片,它包括標題和標籤的輸入,以及照片 ID 的隱藏輸入。此資訊在處理表單時提交。

更新查詢

更新查詢旨在根據發布的數據更新每張照片的標題和標籤。但是,當嘗試將參數綁定到查詢時,就會出現問題。

解決方案

解決此問題的關鍵是提交帶有數組名稱的輸入字段,如下所示多個具有相同名稱的字段不能作為單獨的字段進行處理。透過將它們作為數組提交,我們可以循環發布的資料並使用相應的 ID 更新每一行。

調整後的程式碼

HTML 輸入的修改後的程式碼片段欄位如下:

<code class="html">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' />";</code>

更新查詢循環的更新程式碼:

<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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn