0

我正在做一个脚本,可以在其中写下人们的姓名和年龄,以便在列表中注册他们。

  <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>
4

3 回答 3

3

您可以为所有相同类型的输入(first_name[], last_name[], age[])设置相同的名称,以便在发布表单数据时获得数组,而不是在 PHP 中,您可以去 foreach 并插入新行

于 2012-12-28T11:55:33.723 回答
2

[]除非您在名称的末尾使用以表明它是一个数组,否则您将无法像在 PHP 中那样读取它们。

如果你这样做,这样的事情应该有效:

foreach( $_POST['first_name'] AS $num=>$first_name ){
    $last_name = $_POST['last_name'][$num];
    $age = $_POST['age'][$num];
    // Do your insert here.
}
于 2012-12-28T11:55:56.387 回答
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'];
于 2012-12-28T11:56:21.243 回答