Siarkan Borang dan Kemas Kini Berbilang Baris dengan MySQL
Isu:
Anda telah mencipta borang yang mendapatkan semula semua foto dengan ID galeri tertentu dan membenarkan pengguna mengemas kini tajuk dan teg mereka. Walau bagaimanapun, kod semasa tidak mengemas kini sebarang baris dalam pangkalan data.
Struktur Borang:
Borang menjana senarai HTML foto, dengan medan input untuk mengemas kininya tajuk, teg dan medan tersembunyi untuk mengenal pasti ID mereka.
Pertanyaan Kemas Kini:
Pertanyaan kemas kini berulang pada setiap borang yang diserahkan dan melaksanakan pernyataan KEMASKINI yang berasingan untuk setiap foto . Walau bagaimanapun, seperti yang dikodkan, pertanyaan tidak dapat mengakses data borang dengan betul.
Penyelesaian:
Untuk berjaya mengemas kini berbilang baris, anda perlu menyerahkan data borang sebagai tatasusunan dan gelung melaluinya dalam pertanyaan kemas kini.
Kemas Kini Borang:
Ubah suai medan input untuk menyerahkan nilai sebagai tatasusunan:
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' />";
Kemas kini Tulis Semula Pertanyaan:
Lelar melalui tatasusunan data borang yang diserahkan:
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)); }
Kod yang dikemas kini ini akan gelung dengan betul melalui data borang yang diserahkan, mengekstrak nilai yang dikemas kini , dan laksanakan pernyataan KEMASKINI untuk setiap foto, berjaya mengemas kini berbilang baris dalam pangkalan data MySQL anda.
Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Berbilang Baris dalam Pangkalan Data MySQL Menggunakan Borang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!