有人能告诉如何将这个插入写入数据库吗?下面的代码是我想要完成的一个例子。我想要一份针对多子女家庭的表格。他们提交他们的姓氏和一个他们将在数据库中共享的id。参见下面的代码…
表单输入
<input type="text" name="fname[]"/>
<input type="text" name="lname[]"/>
<input type="text" name="fname[]"/>
<input type="text" name="lname[]"/>
<input type="text" name="family_id"/>
这就是我遇到麻烦的地方。我可以提交姓氏,但只能提交第一行。"name"也存储"family_id"。PHP foreach($_POST['fname'] as $key => $fname) {
$lname = $_POST['lname'][$key];
$family_id = $_POST['family_id'][$key];
$query = mysql_query("INSERT INTO Table (FName, LName, Family_ID ) VALUES ('{$fname}', '{$lname}', $_POST['family_id'])");
}
谢谢你的帮助!
$_POST['family_id']
附近缺少{}
family_id
不是数组
第一次迭代得到
$_POST['family_id'][0]; // gets the id
第二$_POST['family_id'][1]; // gets undefined index
修复方法如下:
在foreach
循环之前添加以下代码并将$family_id
连接到查询中,就像您对其他代码所做的那样。
$family_id = $_POST['family_id'];
试试这个:
extract($_POST);
$total=count($fname);
for($i=0;$i<count($total);$i++)
{
$fname=$fname[$i];
$lname=lfname[$i];
$query="INSERT INTO Table (FName, LName, Family_ID ) VALUES ('{$fname}', '{$lname}', $family_id)";
}