【发布时间】:2016-02-11 17:02:39
【问题描述】:
我有一个表,它的行数是动态的,每个<td> id 和名称每行都不同(即<tr><td id="name_1" name="name_1"></td></tr> <tr><td id="name_2" name="name_2"></td></tr>),它通过$_POST 传递给控制器
通过控制器中的$_POST 获取表的值后。然后我想将每个表行放入数组中,然后将其发送到模型以插入数据库。
这是我在控制器中的代码
public function submitPPMP(){
print_r($_POST);
$ppmp_id = $this->PPMP_model->submitPPMP();
$counter = 1;
foreach ($_POST as $key => $value){
$project_details = array(
'project_id' => $ppmp_id,
'supply_id' => $_POST['items_' . $counter],
'quantity' => $_POST['qty_' + $counter],
'price' => 1,
'jan' => $_POST['jan_' . $counter],
'feb' => $_POST['feb_' . $counter],
'mar' => $_POST['mar_' . $counter],
'apr' => $_POST['apr_' . $counter],
'may' => $_POST['may_' . $counter],
'jun' => $_POST['jun_' . $counter],
'jul' => $_POST['jul_' . $counter],
'aug' => $_POST['aug_' . $counter],
'sep' => $_POST['sep_' . $counter],
'oct' => $_POST['oct_' . $counter],
'nov' => $_POST['nov_' . $counter],
'dec' => $_POST['dec_' . $counter]
);
$counter = $counter + 1;
//send the $project_details to model and insert to database
}
print_r($project_details);
}
但是,我似乎无法得到正确的答案,因为我在 'supply_id' => $_POST['items_' . $counter] 行收到了 Undefined offset: 1 错误。将每一行放入数组并将其发送到模型的正确方法是什么?
我的$_POST 数据是:-
Array ( [unit] => [category_1] => 1 [items_1] => 5 [qty_1] => 1 [jan_1] => 1 [feb_1] => [mar_1] => [apr_1] => [may_1] => [jun_1] => [jul_1] => [aug_1] => [sep_1] => [oct_1] => [nov_1] => [dec_1] => [row_2] => 1 [items_2] => 27 [qty_2] => 1 [jan_2] => 1 [feb_2] => [mar_2] => [apr_2] => [may_2] => [jun_2] => [jul_2] => [aug_2] => [sep_2] => [oct_2] => [nov_2] => [dec_2] => [row_3] => 1 [items_3] => 20 [qty_3] => 1 [jan_3] => 1 [feb_3] => [mar_3] => [apr_3] => [may_3] => [jun_3] => [jul_3] => [aug_3] => [sep_3] => [oct_3] => [nov_3] => [dec_3] => [action] => )
【问题讨论】:
-
将
$counter = 1;移到循环外,否则不算数。 -
感谢那个,但是我仍然遇到偏移错误。似乎即使它在每个
$_POST传递时遍历所有$_POST我的$counter增量。如何仅在具有dec_名称的元素之后增加每个元素? -
这是帖子数据
Array ( [unit] => [category_1] => 1 [items_1] => 5 [qty_1] => 1 [jan_1] => 1 [feb_1] => [mar_1] => [apr_1] => [may_1] => [jun_1] => [jul_1] => [aug_1] => [sep_1] => [oct_1] => [nov_1] => [dec_1] => [row_2] => 1 [items_2] => 27 [qty_2] => 1 [jan_2] => 1 [feb_2] => [mar_2] => [apr_2] => [may_2] => [jun_2] => [jul_2] => [aug_2] => [sep_2] => [oct_2] => [nov_2] => [dec_2] => [row_3] => 1 [items_3] => 20 [qty_3] => 1 [jan_3] => 1 [feb_3] => [mar_3] => [apr_3] => [may_3] => [jun_3] => [jul_3] => [aug_3] => [sep_3] => [oct_3] => [nov_3] => [dec_3] => [action] => ) -
都是正确的。但是当我将它放入数组
$project_details并使用print_r($project_details)时,这是输出Array ( [project_id] => 113 [supply_id] => [quantity] => [price] => 1 [jan] => [feb] => [mar] => [apr] => [may] => [jun] => [jul] => [aug] => [sep] => [oct] => [nov] => [dec] => )
标签: php html mysql codeigniter-3