如何只在一个动态表单中创建多个记录?

时间:2010-05-09 16:23:53

标签: php forms dynamic arrays

请帮我一个简单的PHP怀疑。

我有一个简单的表格:

< form action =“foo”>
<标签>人:< / label>
< input type =“text”id =“name”>
< input type =“text”id =“last_name”>
< a href =“javascript:addmore();”>添加更多

< / form>

每次用户点击Add More时,将使用jQuery动态创建两个新的输入字段。这可以以相同的形式多次完成。

< form action =“foo”>
<标签>人:其中/ label>
< input type =“text”id =“name”>
< input type =“text”id =“last_name”>

< input type =“text”id =“name_2”>
< input type =“text”id =“last_name_2”>

< a href =“javascript:addmore();”>添加更多
<输入类型=“sbumit”>
< / form>

每个对(name和last_name)应该在我的数据库中创建记录。

两个问题:
1)输入id的最佳选择是什么?附加计数器是最好的选择吗? 2)如何使用php在后端处理它?<​​/ p>

如果您需要更多信息,请与我们联系。

提前致谢。

2 个答案:

答案 0 :(得分:3)

有些代码在您的帖子中丢失了。你的表单需要一个方法,可能是POST。

尽管如此,最好的选择是创建以[]:

结尾的同名输入
<input type="text" name="firstname[]" value="Fred" />
<input type="text" name="firstname[]" value="John" />

PHP会将其视为包含以下元素的数组:

<?php
$_POST['firstname'][0] // Fred
$_POST['firstname'][1] // John
?>

即如果您为所有记录提交一次表单。如果你想立即保存每条记录,请谷歌搜索ajax教程。

答案 1 :(得分:0)

这是一个必须使用AJAX的典型场景......有几个教程将教你如何使用AJAX和JQuery。关于你的问题......

1)输入ID的最佳选择是什么?附加计数器是最佳选择吗?我认为您最好的选择是首先使用ajax在数据库中创建元素并检索创建的记录的ID。然后,一旦您使用该ID识别HTML视图中的元素。

2)如何使用php在后端处理它?<​​/ em> http://www.google.com/search?q=tutorial+jquery+ajax+php