Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memasukkan Berbilang Kotak Semak Berbilang dan Data Susunan Kotak Teks ke dalam Pangkalan Data MySQL?

Bagaimana untuk Memasukkan Berbilang Kotak Semak Berbilang dan Data Susunan Kotak Teks ke dalam Pangkalan Data MySQL?

DDD
Lepaskan: 2024-11-28 06:37:17
asal
959 orang telah melayarinya

How to Efficiently Insert Multiple Checkbox and Textbox Array Data into a MySQL Database?

Memasukkan Berbilang Kotak Semak dan Tatasusunan Kotak Teks ke dalam Pangkalan Data MySQL

Memasukkan berbilang kotak pilihan dan tatasusunan kotak teks ke dalam pangkalan data MySQL boleh menjadi tugas yang sukar. Ini benar terutamanya apabila kotak semak hanya diserahkan jika ia ditandakan. Berikut ialah penjelasan terperinci tentang cara untuk mencapai ini:

Borang HTML

Pastikan setiap kotak semak mempunyai indeks eksplisit dalam atribut namanya:

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

Selain itu, pastikan tatasusunan kotak teks sepadan dengan kotak pilihan dengan mempunyai indeks yang sama dalam namanya atribut.

Skrip PHP

1. Mengendalikan Kotak Pilihan:

Gunakan foreach untuk mengulangi tatasusunan kotak pilihan dan mengindeks setiap nilai dengan indeks yang sepadan:

foreach($_POST['checkbox'] as $i => $check) {
    $checkArray[$i] = $check;
}
Salin selepas log masuk

2. Menggabungkan Tatasusunan:

Memandangkan indeks tatasusunan kotak pilihan mungkin tidak sejajar dengan tatasusunan lain, anda perlu menggabungkannya secara manual. Gunakan gelung foreach lain untuk mengulangi tatasusunan kotak semak dan gabungkan nilai dengan nilai yang sepadan daripada tatasusunan lain:

foreach($checkArray as $i => $check) {
    $itemArray[$i] = $_POST['item'][$i];
    $quantityArray[$i] = $_POST['quantity'][$i];
}
Salin selepas log masuk

3. Memasukkan ke dalam Pangkalan Data:

Sekarang anda telah menggabungkan tatasusunan dengan betul, anda boleh melakukan sisipan ke dalam pangkalan data. Gunakan pernyataan yang disediakan dengan bind_param untuk mengelakkan suntikan SQL:

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

foreach ($itemArray as $i => $product) {
    $quantity = $quantityArray[$i];
    $price = $_POST['price'][$i]; // Get the price from the HTML
    $stmt->execute();
}
Salin selepas log masuk

Petua Tambahan:

  • Elakkan harga pengekodan keras dalam HTML. Sebaliknya, dapatkannya daripada pangkalan data semasa pemprosesan borang.
  • Pastikan sambungan pangkalan data dibuka menggunakan API yang sama (MySQLi atau PDO) sepanjang kod.
  • Gunakan execute() untuk melaksanakan yang disediakan pernyataan dan bukannya mysql_query, yang merupakan sebahagian daripada API MySQL warisan.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Berbilang Kotak Semak Berbilang dan Data Susunan Kotak Teks 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan