Codeigniter如何获取所有发布数据

时间:2015-08-18 14:26:31

标签: php codeigniter

假设我有这样的DOM:

<div class="table">
<div class="tr">
    <div class="td"> 
        <select class="selCat" name="selCat[]">
          <option>1</option>
          <option>2</option>
       </select>
    </div>
    <div class="td"> 
        <p class="sub">text 1</p>
    </div>
 </div>   
<div class="tr">
    <div class="td"> 
        <select class="selCat" name="selCat[]">
          <option>3</option>
          <option>4</option>
       </select>
    </div>
    <div class="td"> 
        <p class="sub">text 2</p>
    </div>
 </div>   
<div class="tr">
    <div class="td"> 
        <select class="selCat" name="selCat[]">
          <option>5</option>
          <option>6</option>
       </select>
    </div>
    <div class="td"> 
        <p class="sub">text 3</p>
    </div>
 </div>   

使用codeigniter form_dropdown填充名称为“selCat []”的元素数量,并且它是动态的,因为它基于用户的输入。用户可以添加和删除元素。

如何获取同名“selCat []”的所有数据。 我用的时候

$data = $this->input->post(NULL,TRUE);

        echo $data['selCat'];

它总是返回最后一个索引的值。

2 个答案:

答案 0 :(得分:0)

您应该在表单中提供索引。这里,最后一个值会删除前一个值,因为您没有指定它:

<select class="selCat" name="selCat[1]">...</select>
<select class="selCat" name="selCat[2]">...</select>

... 然后,服务器端,做这样的事情:

echo $data['selCat'][1]; // displays the first choice
echo $data['selCat'][2]; // displays the 2nd choice

它应该有用。

答案 1 :(得分:0)

我找到了解决问题的方法。 我不需要将索引提供给&#34; selCat&#34;也不是数组键。 在控制器内部,我可以使用foreach

$selCat = $this->input->post('selCat');
        $data = $this->input->post(NULL,TRUE);

        foreach($selCat as $key => $row){

            echo $row;
        }