我一直坚持研究这几天,似乎无法找到答案,或者甚至可能。我找到的东西很接近,但没有解决方案。
我想要一个包含一组字段(例如,名字,姓氏,电子邮件)的表单,在填写和提交时,将数据存储在数据库中。我还希望能够单击一个按钮('+'或添加新的,或其他任何东西),这些按钮将显示另一组可以用不同数据填充的相同字段。这将继续,以便可以添加用户想要的许多这些字段组。但是,我希望每组数据(同时在表单上提交的数据)作为单独的记录存储在同一个数据库中。
我无法弄清楚或知道是否可能的部分是最后一部分。将数据存储为单独的记录。我可以在表单中添加新字段,但是提交的所有内容都会成为一个大记录的一部分。我无法找到如何同时提交它们,而是单独存储。
感谢任何和所有帮助。感谢。
答案 0 :(得分:0)
你可以做到这一点,它实际上有点直观(假设我理解你的问题)
对于html,您的名称字段中基本上有两个数组。复制字段时,该数字应该会更改。以下将生成两个不同的“记录”,作为“person”数组中的数组。
<form action="" method="POST">
<input type="text" name="person[1]['first']"/>
<input type="text" name="person[1]['last']"/>
<input type="text" name="person[1]['email']"/>
<input type="text" name="person[2]['first']"/>
<input type="text" name="person[2]['last']"/>
<input type="text" name="person[2]['email']"/>
<input type="submit">
</form>
和PHP
<?
foreach ($_POST as $name => $value) {
print_r($value);
// $value is an individual "record." You could then insert, for example, $value['first'], $value['last'], etc. within this loop.
}
?>
以上的示例输出:
数组([1] =&gt;数组(['first'] =&gt; John ['last'] =&gt; Matthews ['email'] =&gt; email1@email.com)[2] =&gt; ;数组(['first'] =&gt; Carol ['last'] =&gt; Martinex ['email'] =&gt; email@email.com))
希望这是有道理的,如果需要,我可以尝试澄清。