您有一个包含多个输入字段的 PHP 表单,其数量由用户定义。为了有效地将这些数据输入数据库,Ajax 是一个可行的解决方案。这是针对您的具体场景量身定制的解决方案。
实现以下 Ajax 功能来满足您的需求:
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; }
您提供的表单结构仍然有效:
echo "<form method='post'>"; $i=1; while($i <= $num_to_enter){ $form_output .= "First Name: <input>
在数据库插入脚本中,确保相应地包含 Ajax 数据:
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++; }
这个支持 Ajax 的解决方案可以有效地从动态生成的数据中捕获用户输入表单并将其转发到您的 PHP 脚本以进行数据库插入。
以上是如何使用 Ajax 和 PHP 从具有多个输入的动态表单填充数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!