2011-02-28 101 views
2

因此,我有一個腳本,使動態形式的內容和每個輸入有一個名稱爲「字段1」,「字段2」等,直到最後的輸入是由腳本創建的。如何將動態表單數據從JavaScript保存到數據庫與查詢

如何將表單保存到數據庫中?

我只知道如何以傳統的方式做到這一點,你像5靜態輸入,並給他們靜態名稱和ID,然後使用任何帖子或得到去制定mysql_query。

但在我的情況下,輸入範圍可以從3 - 200個輸入。並且均具有 「現場+ NUM ++」 的類似名稱/ ID

我的HTML代碼:

<form id="myForm"> 

我的JS代碼,將附加到我的HTML表單:

var $int = $('div.int'); 
    $int.html(function(i, html) { 
     return html.replace(/(\d+)(.+)/,function(str,s1,s2){ 
      var text = s2.split('.'); 
      var text2 = text[1].split('-'); 
      var text3 = text2[1].split(' '); 
      return '<input class="r" name="scene-"' + s1 + ' value="'+ s1.replace(/^\s*/, '').replace(/\s*$/, '') +'" />' + 
      '<input class="r" name="int_ext-"' + s1 + ' value="'+ text[0].replace(/^\s*/, '').replace(/\s*$/, '') +'" />' + 
      '<input class="r" name="scene_desct-"' + s1 + ' value="'+ text2[0].replace(/^\s*/, '').replace(/\s*$/, '') +'" />' + 
      '<input class="r" name="day_night-"' + s1 + ' value="'+ text3[1].replace(/^\s*/, '').replace(/\s*$/, '') +'" />'; 
     }); 
    }); 

我的HTML代碼:

<input type="submit" value="Submit" /> 
</form> 

回答

1

如果您將您的字段命名爲eg foo[]您將獲得一個包含所有值的數組$_POST['foo']。你也可以遍歷$_POST中的元素 - 無論你喜歡什麼。但是,遍歷所有可能的POST數據不是最好的主意..

0

當您將數據發送到後端服務器的腳本需要在一個自由形式的方式將數據添加到數據庫中

在創建表您的數據庫可以接受該字段的名稱以及該字段中的值

例如該表可能包含以下字段

id (primary key) 
field_name char(20) 
value char(255) 
form_name char(20) 
form_id char(40) 

這樣您就可以以自由形式存儲信息。您沒有綁定到特定的字段名稱,您需要能夠確定哪些字段屬於哪種形式,這就是爲什麼兩個字段form_name和form_id form_name是生成的表單名稱 form_id是唯一提交的表單標識符。

字段類型是任意你可能想使他們不同的長度,甚至類型

這是否合理?

DC

P.S.進入數據庫時​​不要忘記所有正常的安全問題。

+0

我編輯添加我的代碼 – Eli 2011-03-01 06:29:55

+0

這對你的JavaScript沒有多大關係。 JavaScript在用戶瀏覽器內部運行,它不能直接將信息添加到數據庫。當用戶點擊提交按鈕時,表單數據被髮回到網絡服務器,在你給它的例子中,它返回到具有javascript的相同頁面。它的頁面無論是php,還是asp或其他一些腳本語言都需要創建一個與數據庫的連接並以類似於我所描述的方式存儲信息。 – DeveloperChris 2011-03-02 04:33:06

相關問題