在 Codeigniter 中管理动态表单并更新数据库


Managing a dynamic form and updating a database in Codeigniter?

我有一个包含许多表的数据库,dbtable .

我正在使用php创建一个表单,并使用<table>布局表单。

表中的每个<tr>对应于dbtable中的一行。

所以,dbtable中的行越多,tr-tags就越多......你得到它。

我的问题是:

我应该如何命名输入标签才能使用 POST 变量相应地更新数据库?

目前,我将它们命名为一个可1_name, 2_name, 3_name数据库数据然后1_1_valueA, 1_1_valueB, 1_2_valueA, 1_2_valueB属于1_name、2_name等的数据。

但我觉得这不是一个好方法。

这样命名它们:

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 数组中分配为指示

您将能够使用$_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)
)
<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