我正在编写一个脚本,可以为人们写下姓名和年龄,以便在列表中注册。
<p>
1.
<input name="first_name" type="text" id="first_name" >
<input name="last_name" type="text" id="last_name" >
<input name="age" type="text" id="age" >
</p>
<p>
2.
<input name="first_name" type="text" id="first_name" >
<input name="last_name" type="text" id="last_name" >
<input name="age" type="text" id="age" >
</p>
<p>
3.
<input name="first_name" type="text" id="first_name" >
<input name="last_name" type="text" id="last_name" >
<input name="age" type="text" id="age" >
</p>
etc.
我正在使用jQuery脚本,如果需要,可以附加额外的行。
然后我想知道当我需要我的PHP脚本来导入数据时该怎么做。管理单个字段很容易,但由于有一个相同名称的列表,我必须使用某种foreach语句。我在PDO中写作,所以更喜欢与PDO相关的答案而不是mysql查询。
<p>
<!-- added with jQuery -->
4.
<input name="first_name" type="text" id="first_name" >
<input name="last_name" type="text" id="last_name" >
<input name="age" type="text" id="age" >
</p>
答案 0 :(得分:3)
您可以为所有相同类型的输入(first_name[]
,last_name[]
,age[]
设置相同的名称,以便在发布表单数据时获得数组,而不是在PHP中,您可以使用foreach并插入新行
答案 1 :(得分:2)
除非您在名称末尾使用[]
来表示它是一个数组,否则您将无法像在PHP中那样阅读它们。
如果你这样做,这样的事情应该有效:
foreach( $_POST['first_name'] AS $num=>$first_name ){
$last_name = $_POST['last_name'][$num];
$age = $_POST['age'][$num];
// Do your insert here.
}
答案 2 :(得分:2)
你应该像这样构建html -
<input name="first_name[]" type="text" id="first_name" >
<input name="last_name[]" type="text" id="last_name" >
<input name="age[]" type="text" id="age" >
您可以访问您的值 -
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$age = $_POST['age'];