数量がユーザー定義の複数の入力フィールドを持つ 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 中国語 Web サイトの他の関連記事を参照してください。