2010-05-09 100 views
0

请帮助我一个简单的PHP疑问。如何在一个动态表单中创建多个记录?

我有一个简单形式:

<形式行动= “foo” 的>
<标签>人:< /标签>
< INPUT TYPE = “文本” ID = “名称”>
< INPUT TYPE = “文本” ID = “last_name的”>
< A HREF = “JavaScript的:addmore();”>添加更多

</FORM>

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

<形式行动= “foo” 的>
<标签>人:< /标签>
< INPUT TYPE = “文本” ID = “名称”>
< INPUT TYPE = “文本” ID =”姓氏”>

< INPUT TYPE = “文本” ID = “NAME_2”>
< INPUT TYPE = “文本” ID = “last_name_2”>

<一个HRE F = “JavaScript的:addmore();”>添加更多
< INPUT TYPE = “sbumit”>
</FORM>

每一对(名称和last_name)应该在我的分贝创建记录。

两个问题:
1)什么是输入ID的最佳选择?追加一个计数器是最好的选择?
2)如何使用php在后端处理它?

让我知道你是否需要更多信息。

在此先感谢。

回答

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教程。

+0

谢谢你。我会尝试你的.. 我会尝试添加一个使用名字大小的循环来循环所有的值 $ _POST ['firstname'] [i] – Fernando 2010-05-09 16:35:42

+0

解决了。谢谢。 – Fernando 2010-05-09 18:07:57

0

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

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

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

+0

好的。也许我不清楚我的要求,用户只会提交一次..但他们可能有一对(姓名/姓氏)或20对。我怎样才能在PHP端处理这个问题? – Fernando 2010-05-09 16:32:56

相关问题