0

在我的观点中,我有以下形式:

<table align="center" border="1">
<tr>
   <td>Identificação</td>
   <td>Conc, %</td>
   <td>Classificação 67/548/CEE</td>
   <td>Classificação 1272/2008 (CLP)</td>
</tr>
<tr>
   <td>
       <textarea rows="4" cols="30" name="componentes[0][identificacao]"></textarea>
   </td>
   <td>
       <textarea rows="4" cols="30" name="componentes[0][conc]"></textarea>
   </td>
   <td>
       <textarea rows="4" cols="30" name="componentes[0][classificacao_cee]"></textarea>
   </td>
   <td>
       <textarea rows="4" cols="30" name="componentes[0][classificacao_clp]"></textarea>
   </td>
</tr>
</table>

<div id="outro_curso"></div>
<p class="submit">
    <button id="novo_curso">Add Curso</button>
</p>

如您所见,我使用的是多维数组。我这样做是因为当我单击“添加光标”按钮时,我调用了一个 jquery 函数,该函数生成另一个表,如前一个表。文本区域的名称将是componentes[1][identificacao], componentes[1][conc], 等等...

注意:我可以使用按钮生成我想要的次数的表格。

现在,我的问题是如何在我的 CodeIgniter 模型中处理这些数据。我尝试将数据保存到$componentes数组中(以便稍后插入数据库)但我想我的代码有问题:

$componentes;
    foreach ($this->input->post('componentes') as $key => $value){
        $componentes[$key]['identificacao']=$value[$key]['identificacao'];
        $componentes[$key]['conc']=$value[$key]['conc'];
        $componentes[$key]['classificacao_cee']=$value[$key]['classificacao_cee'];
        $componentes[$key]['classificacao_clp']=$value[$key]['classificacao_clp'];
    }

有人可以给我一点帮助吗?

编辑:

我忘了提,我收到了错误:

为 foreach() 提供的参数无效。

所以我不知道我foreach ($this->input->post('componentes') as $key => $value){的是否正确,或者里面的线路是否有问题。

4

1 回答 1

1
$componentes_post = $this->input->post('componentes');
if(is_array($componentes_post)&&!empty($componentes_post))
{
    foreach ($componentes_post as $key => $value)
    {
        $temp_componentes['identificacao']=$value['identificacao'];
        $temp_componentes['conc']=$value['conc'];
        $temp_componentes['classificacao_cee']=$value['classificacao_cee'];
        $temp_componentes['classificacao_clp']=$value['classificacao_clp'];
        $componentes[] = $temp_componentes;
    }
}

现在看,

print_r($componentes);

你应该得到你需要的东西。接下来,您会收到错误Invalid argument provided for foreach()因为您迭代的数组foreach是空的,请确保使用该元素上的值print_r($this->input->post('componentes'))

于 2013-01-22T11:49:15.987 回答