2010-05-09 104 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

相關問題