我正在做一个脚本,它可以写名字和年龄的人在一个列表中注册他们。
<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>
您可以为所有相同类型的输入设置相同的名称(first_name[]
, last_name[]
, age[]
)所以您在发布表单数据时得到数组,然后在PHP中您可以使用foreach并插入新行
您将无法像PHP那样读取它们,除非您在名称末尾使用[]
表示它是一个数组。
如果你这样做,像这样的东西应该工作:
foreach( $_POST['first_name'] AS $num=>$first_name ){
$last_name = $_POST['last_name'][$num];
$age = $_POST['age'][$num];
// Do your insert here.
}
你应该像这样构建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'];