Mengemas kini Berbilang Baris dengan Data Borang Disiarkan dalam MySQL
Apabila bekerja dengan borang yang memerlukan pengemaskinian berbilang baris dalam pangkalan data, adalah penting untuk mengendalikan penyerahan data dengan betul. Artikel ini menangani senario tertentu di mana borang digunakan untuk mengumpul maklumat (tajuk dan teg) untuk berbilang foto dan mengemas kini rekodnya dalam pangkalan data MySQL.
Borang
Borang mengumpulkan data untuk setiap foto yang dipautkan ke ID galeri tertentu. Untuk setiap foto, ia termasuk input untuk tajuk dan teg, serta input tersembunyi untuk ID foto. Maklumat ini diserahkan apabila borang diproses.
Pertanyaan Kemas Kini
Pertanyaan kemas kini bertujuan untuk mengemas kini tajuk dan teg setiap foto berdasarkan data yang disiarkan. Walau bagaimanapun, isu ini timbul apabila cuba mengikat parameter pada pertanyaan.
Penyelesaian
Kunci untuk menyelesaikan isu ini ialah menyerahkan medan input dengan nama tatasusunan, sebagai berbilang medan dengan nama yang sama tidak boleh dikendalikan sebagai medan individu. Dengan menyerahkannya sebagai tatasusunan, kami boleh mengulangi data yang disiarkan dan mengemas kini setiap baris menggunakan ID yang sepadan.
Kod Dilaraskan
Coretan kod yang diubah suai untuk input HTML medan adalah seperti berikut:
<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>
Kod yang dikemas kini untuk gelung pertanyaan kemas kini:
<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>
Dengan menyerahkan data borang sebagai tatasusunan dan mengulangi nilai, anda boleh mengemas kini berbilang dengan berkesan baris dalam pangkalan data berdasarkan maklumat yang disiarkan.
Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Berbilang Baris dalam MySQL dengan Data Borang Disiarkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!