Anda mempunyai borang PHP dengan berbilang medan input yang kuantitinya ditentukan oleh pengguna . Untuk memasukkan data ini ke dalam pangkalan data dengan berkesan, Ajax ialah penyelesaian yang berdaya maju. Berikut ialah penyelesaian yang disesuaikan dengan senario khusus anda.
Laksanakan fungsi Ajax berikut untuk memenuhi keperluan anda:
function MyFunction(){ var i = 1; var x = $('#num_to_enter').val(); var formData = new FormData; while (i <= x){ var name = $('#fname[i]').val(); var lname = $('#lname[i]').val(); var email = $('#Email[i]').val(); formData.append("fname[" + i + "]", name); formData.append("lname[" + i + "]", lname); formData.append("email[" + i + "]", email); i++; } $.ajax({ url: 'process.php', type: "POST", data: formData, processData: false, contentType: false, success : function(data){ window.setTimeout(function() { $('#SuccessDiv').html('Info Added!'); $('#data').css("display","block"); $('#data').html(data); }, 2000); } }); return false; }
Struktur borang yang anda sediakan kekal sah:
echo "<form method='post'>"; $i=1; while($i <= $num_to_enter){ $form_output .= "First Name: <input>
Dalam skrip sisipan pangkalan data anda, pastikan anda memasukkan data Ajax dengan sewajarnya:
while ($i <= $x){ $x = $_POST['num_to_enter']; $fname = $_POST['fname[$i]']; $lname = $_POST['lname[$i]']; $email = $_POST['email[$i]']; $sql = "INSERT INTO `mytable` (`firstname`, `lastname`, `email`) VALUES ('$fname[$i]', '$lname[$i]', '$email[$i]');"; $i++; }
Ini Penyelesaian yang didayakan Ajax dengan cekap menangkap input pengguna daripada borang yang dijana secara dinamik dan memajukannya ke skrip PHP anda untuk pangkalan data sisipan.
Atas ialah kandungan terperinci Bagaimana Menggunakan Ajax dan PHP untuk Mengisi Pangkalan Data daripada Borang Dinamik dengan Berbilang Input?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!