Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php for循环将动态创建的输入字段中的数据插入数据库_Php_Jquery_Mysql_For Loop - Fatal编程技术网

使用php for循环将动态创建的输入字段中的数据插入数据库

使用php for循环将动态创建的输入字段中的数据插入数据库,php,jquery,mysql,for-loop,Php,Jquery,Mysql,For Loop,我希望下面的代码能够从动态创建的表单输入字段中获取用户数据,并使用php for循环将其插入数据库。代码似乎可以工作,但是,只有来自第一个输入字段(1行)的数据被插入到db表中。 知道我错过了什么吗? 提前谢谢 form.php <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script

我希望下面的代码能够从动态创建的表单输入字段中获取用户数据,并使用php for循环将其插入数据库。代码似乎可以工作,但是,只有来自第一个输入字段(1行)的数据被插入到db表中。 知道我错过了什么吗? 提前谢谢

form.php

<html>
<head>
 
<script  src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>        
<script type="text/javascript">
$(function() {
var addDiv = $('#addinput');
var i = $('#addinput p').size() + 1;

$('#addNew').live('click', function() {
$('<p><input type="text"  size="20" name="name[]' + i +'" value="" /><a href="#" id="remNew">Remove</a> </p>').appendTo(addDiv);
i++;

return false;
});

$('#remNew').live('click', function() {
if( i > 2 ) {
$(this).parents('p').remove();
i--;
}
return false;
});
});

</script>

</head>
<body>
 

<div id="addinput">
 
 <form method="post" action="test_process.php">
 <input type="submit" value="Submit" /> <br /><br />
<input type="text" size="20" name="name[]" value="" /><a href="#" id="addNew">Add</a>

 </form>
 
</div>

</body>
</html>
<html>
<head>
 
<script  src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>        
<script type="text/javascript">
$(function() {
var addDiv = $('#addinput form');
var i = $('#addinput p').size() + 1;

$('#addNew').live('click', function() {
$('<p><input type="text"  size="20" name="name[]' + i +'" value="" /><a href="#" id="remNew">Remove</a> </p>').appendTo(addDiv);
i++;

return false;
});

$('#remNew').live('click', function() {
if( i > 2 ) {
$(this).parents('p').remove();
i--;
}
return false;
});
});

</script>

</head>
<body>
 

<div id="addinput">
 
 <form method="post" action="test_process.php">
 <input type="submit" value="Submit" /> <br /><br />
<input type="text" size="20" name="name[]" value="" /><a href="#" id="addNew">Add</a>

 </form>
 
</div>

</body>
</html>

$(函数(){
var addDiv=$(“#addinput”);
变量i=$('#addinput p').size()+1;
$('#addNew').live('单击',函数()){
$('p>

')。附录(addDiv); i++; 返回false; }); $('#remNew').live('单击',函数()){ 如果(i>2){ $(this.parents('p').remove(); 我--; } 返回false; }); });

test_process.php

<?php
for($i = 0; $i < count($_POST['name']); $i++)
{
    $name = mysqli_real_escape_string($link, $_POST['name'][$i]); 

   if (empty(trim($name))) continue;

  $dt = mysqli_query($link, "insert into wh_test (test_name) 
 values  
 ('".$name."')
 ");
}

?>
<?php
for($i = 0; $i < count($_POST['name']); $i++)
{
    $name = mysqli_real_escape_string($link, $_POST['name'][$i]); 

   if (empty(trim($name))) continue;

  $dt = mysqli_query($link, "insert into wh_test (test_name) 
 values  
 ('".$name."')
 ");
}

?>

在应用Swati提出的建议后发布正确的代码

form.php

<html>
<head>
 
<script  src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>        
<script type="text/javascript">
$(function() {
var addDiv = $('#addinput');
var i = $('#addinput p').size() + 1;

$('#addNew').live('click', function() {
$('<p><input type="text"  size="20" name="name[]' + i +'" value="" /><a href="#" id="remNew">Remove</a> </p>').appendTo(addDiv);
i++;

return false;
});

$('#remNew').live('click', function() {
if( i > 2 ) {
$(this).parents('p').remove();
i--;
}
return false;
});
});

</script>

</head>
<body>
 

<div id="addinput">
 
 <form method="post" action="test_process.php">
 <input type="submit" value="Submit" /> <br /><br />
<input type="text" size="20" name="name[]" value="" /><a href="#" id="addNew">Add</a>

 </form>
 
</div>

</body>
</html>
<html>
<head>
 
<script  src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>        
<script type="text/javascript">
$(function() {
var addDiv = $('#addinput form');
var i = $('#addinput p').size() + 1;

$('#addNew').live('click', function() {
$('<p><input type="text"  size="20" name="name[]' + i +'" value="" /><a href="#" id="remNew">Remove</a> </p>').appendTo(addDiv);
i++;

return false;
});

$('#remNew').live('click', function() {
if( i > 2 ) {
$(this).parents('p').remove();
i--;
}
return false;
});
});

</script>

</head>
<body>
 

<div id="addinput">
 
 <form method="post" action="test_process.php">
 <input type="submit" value="Submit" /> <br /><br />
<input type="text" size="20" name="name[]" value="" /><a href="#" id="addNew">Add</a>

 </form>
 
</div>

</body>
</html>

$(函数(){
var addDiv=$(“#addinput form”);
变量i=$('#addinput p').size()+1;
$('#addNew').live('单击',函数()){
$('p>

')。附录(addDiv); i++; 返回false; }); $('#remNew').live('单击',函数()){ 如果(i>2){ $(this.parents('p').remove(); 我--; } 返回false; }); });

test_process.php

<?php
for($i = 0; $i < count($_POST['name']); $i++)
{
    $name = mysqli_real_escape_string($link, $_POST['name'][$i]); 

   if (empty(trim($name))) continue;

  $dt = mysqli_query($link, "insert into wh_test (test_name) 
 values  
 ('".$name."')
 ");
}

?>
<?php
for($i = 0; $i < count($_POST['name']); $i++)
{
    $name = mysqli_real_escape_string($link, $_POST['name'][$i]); 

   if (empty(trim($name))) continue;

  $dt = mysqli_query($link, "insert into wh_test (test_name) 
 values  
 ('".$name."')
 ");
}

?>

Hi输入不是附加在表单标记内部的,而是附加在表单标记外部的,这就是为什么您只提交第一个输入而不提交其他输入的原因。请将
$('#addinput')
更改为
$('#addinput form')
,以便它附加在表单标记内部。@Swati非常感谢。这很有帮助!!!!