Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Memasukkan Data Tatasusunan Kotak Semak dan Kotak Teks dengan betul daripada Borang PHP ke dalam Pangkalan Data MySQL?

Bagaimanakah Saya Boleh Memasukkan Data Tatasusunan Kotak Semak dan Kotak Teks dengan betul daripada Borang PHP ke dalam Pangkalan Data MySQL?

Mary-Kate Olsen
Lepaskan: 2024-11-29 14:06:13
asal
602 orang telah melayarinya

How Can I Properly Insert Checkbox and Textbox Array Data from a PHP Form into a MySQL Database?

Pengendalian Borang PHP: Memasukkan Tatasusunan Kotak Semak dan Kotak Teks ke dalam Pangkalan Data MySQL

Dalam PHP, pengendalian penyerahan borang boleh menjadi mencabar, terutamanya apabila berurusan dengan berbilang kotak pilihan dan kotak teks. Untuk mengurus data borang dengan berkesan, mari kita terokai isu biasa dan penyelesaiannya.

Isu: Paparan Nilai Kotak Semak dan Kegagalan Penyisipan Pangkalan Data yang Salah

Apabila bekerja dengan tatasusunan kotak pilihan, adalah penting untuk memastikan bahawa nilai mereka mewakili input pengguna dengan tepat. Dalam kod yang disediakan, setiap kotak semak dipaparkan sebagai ditanda, tanpa mengira keadaan sebenar. Selain itu, data tidak dimasukkan ke dalam pangkalan data seperti yang dimaksudkan.

Penyelesaian: Pengindeksan Tatasusunan dan Nama Kotak Semak Berindeks

Masalah timbul kerana penggunaan letupan , yang menggabungkan semua nilai borang ke dalam senarai yang dipisahkan koma. Untuk mengelakkan ini, gunakan indeks eksplisit dalam nama kotak semak. Dengan cara ini, indeks tatasusunan akan sepadan dengan indeks item dan kuantiti.

Pertimbangkan kod HTML berikut:

<input type="checkbox" name="checkbox[0]" value="17" />
Salin selepas log masuk

Kini, tatasusunan kotak semak akan mempunyai elemen diindeks, membenarkan data yang betul mendapatkan semula.

Kod PHP yang dikemas kini

Dalam Kod PHP, gantikan penggunaan implode dengan akses tatasusunan terindeks. Selain itu, gunakan pernyataan yang disediakan untuk sisipan pangkalan data yang selamat. Berikut ialah versi yang dipertingkatkan:

$stmt = $conn->prepare("INSERT INTO purchases (Product, Quantity, Price) VALUES (?, ?, ?)");
$stmt->bind_param("sis", $name, $quantity, $price);

foreach ($_POST['checkbox'] as $i => $price) {
    $name = $_POST['name'][$i];
    $quantity = $_POST['quantity'][$i];
    $stmt->execute();
}
Salin selepas log masuk

Dengan menggunakan nama kotak pilihan yang diindeks dan pernyataan yang disediakan, kod yang disemak ini menangani isu dan membolehkan pengendalian yang tepat bagi kedua-dua kotak pilihan dan data kotak teks. Ingat untuk memastikan integriti data dengan mendapatkan semula harga daripada pangkalan data dan bukannya bergantung pada nilai HTML.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Data Tatasusunan Kotak Semak dan Kotak Teks dengan betul daripada Borang PHP ke dalam Pangkalan Data MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan