foreach()如何获取“”中每个文本框的值;组“;输入


foreach() how to get value of every textbox in that "group" of inputs

现在我正在尝试创建一个客户管理系统,在该系统中我可以同时添加多个客户。

我有一个javascript脚本,它允许我添加可以填写的关于客户的新行信息,但我在这里的问题是,我如何分别获得每一行的所有信息。

html示例如下:

<input type="text" name="name[]" />
<input type="text" name="lastname[]" />
<input type="text" name="dob[]" />
<hr>
<input type="text" name="name[]" />
<input type="text" name="lastname[]" />
<input type="text" name="dob[]" />

这可以一直持续下去,直到我不再需要更多的田地。

由于我需要为每一行分别向数据库中输入信息,因此我需要一个脚本来自动获取这3个字段,并将其放入类似的mysql命令中

mysqli_query($con, "INSERT INTO customers (name, lastname, dob) VALUES ('" . $name . "', '" . $lastname . "', '" . $dob . "'");

这需要为每一行做。

我试过用foreach和嵌套foreach做一些东西,但我似乎做不到。

提前谢谢。

我会更改您的输入名称,如

<input type="text" name="data[n][name]" />
<input type="text" name="data[n][lastname]" />
<input type="text" name="data[n][dob]" />

其中CCD_ 1从0开始到任意值。然后你可以使用foreach:

foreach($_POST['data'] as $data) {
    // $data['name']
    // $data['lastname']
    // $data['dob']
}

使用准备好的语句,而不是串联字符串。然后使用从每个$_POST参数数组中获取相应值的foreach循环。

$stmt = mysqli_prepare($con, "INSERT INTO customers (name, lastname, dob) VALUES (?, ?, ?)");
mysqli_bind_param($stmt, "sss", $name, $lastname, $dob);
foreach ($_POST['name'] as $i => $name) {
    $lastname = $_POST['lastname'][$i];
    $dob = $_POST['dob'][$i];
    mysqli_execute($stmt);
}