我有一个包含多个表的数据库dbtable
。
我正在使用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等的数据
但我觉得这不是一个好方法..
答案 0 :(得分: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数组中的指示
您将能够使用$_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)
)
答案 1 :(得分: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')
)
您可以使用codeigniter upadte_batch
将这些记录添加到db
http://ellislab.com/codeigniter/user-guide/database/active_record.html