Vous disposez d'un formulaire PHP avec plusieurs champs de saisie dont la quantité est définie par l'utilisateur . Pour saisir efficacement ces données dans une base de données, Ajax est une solution viable. Voici une solution adaptée à votre scénario spécifique.
Implémentez la fonction Ajax suivante pour répondre à vos besoins :
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; }
La structure de votre formulaire fournie reste valide :
echo "<form method='post'>"; $i=1; while($i <= $num_to_enter){ $form_output .= "First Name: <input>
Dans votre script d'insertion de base de données, assurez-vous d'inclure les données Ajax en conséquence :
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++; }
Cette solution compatible Ajax capture efficacement les entrées utilisateur à partir des données générées dynamiquement formulaire et le transmet à votre script PHP pour l'insertion dans la base de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!