0

好的,所以表格以一个下拉菜单开头,询问“选择您有多少孩子”这个问题,您可以选择 1-10,这会生成适当数量的重复表格(完全相同的字段)。我想知道的是如何将每个重复的表单添加到一个表中。

例如,我想要的是:某人有 5 个孩子,每个孩子都会在 children 表中获得一行。

目前,如果选择了 1 个孩子并输入了详细信息,他们就可以很好地输入到表格中。那么为什么当它完成不止一个时它会停止它,我该如何解决它?

如果有人希望看到它,我可以更新问题以发布代码,但是代码只是整个页面的一小部分(使用 JavaScript、PHP、HTML 和 MySQL),事情会变得混乱。我只是在寻找想法和指示。

4

3 回答 3

0

对于正在生成的输入,您可以使用“children []”作为名称,以便将其填充到通过 POST 发送表单的数组中:

`Array(
    [children] => Array(
        [0] => 'test'
        [1] => 'test2'
    )
)`

但是给我看你的代码,我们会调整它。

于 2013-04-24T13:18:38.707 回答
0

为表单使用计数器并在字段名中添加一个数字

<form>
<?php $counter = 1; ?>
<input type="text" name="child[<?php echo $counter; ?>][name]">
<input type="text" name="child[<?php echo $counter; ?>][age]">
... rest of the form ...
<?php $counter++; ?>
</form>

使用 $_POST 数组检索更新数据库的脚本中的数据

于 2013-04-24T13:14:13.050 回答
0

确保重复的表单在名称中使用数组

例如:

<select name="numberofchildren">
<option>1</option>
...
</select>

// generated by JS or serverside (don;t know what you do now)
Name of 1st Child: <input type="text" name="children[1][name]"/>
Age of 1st Child: <input type="text" name="children[1][age]"/>
Name of 2st Child: <input type="text" name="children[2][name]"/>
Age of 2st Child: <input type="text" name="children[2][age]"/>
Name of 3st Child: <input type="text" name="children[3][name]"/>
Age of 3st Child: <input type="text" name="children[3][age]"/>

现在您可以使用

foreach($_POST['children'] as $child)
{
echo $child['name']; 
echo $child['age'];
}
于 2013-04-24T13:17:57.290 回答