Sie haben ein PHP-Formular mit mehreren Eingabefeldern, deren Anzahl vom Benutzer definiert wird . Um diese Daten effektiv in eine Datenbank einzugeben, ist Ajax eine praktikable Lösung. Hier ist eine Lösung, die auf Ihr spezifisches Szenario zugeschnitten ist.
Implementieren Sie die folgende Ajax-Funktion, um Ihre Anforderung zu erfüllen:
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; }
Ihre bereitgestellte Formularstruktur bleibt gültig:
echo "<form method='post'>"; $i=1; while($i <= $num_to_enter){ $form_output .= "First Name: <input>
Stellen Sie sicher, dass Sie in Ihrem Datenbankeinfügungsskript die Ajax-Daten entsprechend einschließen:
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++; }
Diese Ajax-fähige Lösung erfasst effizient Benutzereingaben aus dynamisch generierten Daten Formular und leitet es zur Datenbankeinfügung an Ihr PHP-Skript weiter.
Das obige ist der detaillierte Inhalt vonWie verwende ich Ajax und PHP, um eine Datenbank aus einem dynamischen Formular mit mehreren Eingaben zu füllen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!