2013-01-31 92 views
0

我有一個數據庫,有多個表,dbtable在Codeigniter中管理動態表單並更新數據庫?

我正在用php創建一個表單,我使用<table>來佈置表單。

表中的每個<tr>對應於dbtable中的一行。

所以,在dbtable越多的行,越多的tr標籤..你得到它。

我的問題是:

我應該如何命名輸入標籤,以便能夠使用POST變量更新相應的數據庫?

此刻,我給它們命名1_name, 2_name, 3_name一個DBTABLE數據 然後1_1_valueA, 1_1_valueB, 1_2_valueA, 1_2_valueB對於屬於1_name數據,2_name等

但我覺得這不是一個好辦法..

+1

認沽數據庫模式,形式。 – itachi

回答

2

名稱他們這樣的:

item[0][db_row_id] 
item[0][value_a] 
item[0][value_b] 

item[1][db_row_id] 
item[1][value_a] 
item[1][value_b] 

其中數字0和1等於POST陣列只是指定爲indicies

,你將能夠與$_POST['item']

或CI $this->input->post('item')

檢索所有的項目,它看起來就像這樣:

array(
array('db_row_id'=>val,'value_a'=>val,'value_b'=>val), 
array('db_row_id'=>val,'value_a'=>val,'value_b'=>val) 
) 
+0

這可以創造奇蹟!但是,如何命名輸入標籤以創建2D數組?我有任意多的標題,頭文件編號爲1,子項目編號爲2,'name ='項目爲[0] [頭]「的數字1頭輸入? – neckutrek

+0

我不太確定你在問什麼。您可能希望將其作爲示例代碼的新問題發佈。 – Ethan

0
<input name="reords[0]['Name']" /> 
<input name="reords[0]['Age']" /> 
<input name="reords[0]['City']" /> 

<input name="reords[1]['Name']" /> 
<input name="reords[1]['Age']" /> 
<input name="reords[1]['City']" /> 

您可以通過訪問服務器端數據

$this->input->post('reords'); 

它是一個這樣的數組

array(array('Name'=>'post val','Age'=>'post val','City'=>'post val'), 
     array('Name'=>'post val','Age'=>'post val','City'=>'post val') 
) 

可以使用codegniter upadte_batch添加這些記錄到數據庫樣本數據

http://ellislab.com/codeigniter/user-guide/database/active_record.html

相關問題