首页 > 解决方案 > 输入数组codeigniter

问题描述

我有这样的形式

我的形象

我正在创建一个动态表单,我有一个添加按钮,当我单击它时,它会在表单中添加一行。

但是当我回声时,为什么会这样?

这是我的代码

 public function inputData(){
        $provinsi = $this->input->post('provinsi');
        $res = array();
        for ($i=0; $i < count($provinsi); $i++) { 
            $res[] = array(
                'id_finance' => '1',
                'provinsi'   => $provinsi[$i],
            );
         $this->db->insert_batch('lokasi', $res);
         echo "<pre>", print_r($res);
        }
    }

这个输出

Array
(
    [0] => Array
        (
            [id_finance] => 1
            [provinsi] => TES 1
        )
)
1
Array
(
    [0] => Array
        (
            [id_finance] => 1
            [provinsi] => TES 1
        )
    [1] => Array
        (
            [id_finance] => 1
            [provinsi] => TES 2
        )
)
1

Array
(
    [0] => Array
        (
            [id_finance] => 1
            [provinsi] => TES 1
        )
    [1] => Array
        (
            [id_finance] => 1
            [provinsi] => TES 2
        )
    [2] => Array
        (
            [id_finance] => 1
            [provinsi] => TES 3
        )
)
1

我想要这样的输出,怎么做?

 Array
    (
        [0] => Array
            (
                [id_finance] => 1
                [provinsi] => TES 1
            )
        [1] => Array
            (
                [id_finance] => 1
                [provinsi] => TES 2
            )
        [2] => Array
            (
                [id_finance] => 1
                [provinsi] => TES 3
            )
    )

这是我的表格

 <form method="post" action="<?php echo base_url() . 'testing/inputData'; ?>">
          <div>
               <input type="text" name="provinsi[]"class="form-control name_list"/>
               <button type="button" name="add">Add More</button>
          </div>                       
          <button type="submit" class="btn btn-info">submit</button>
 </form>

添加一行我使用 jquery 帮助。

如何使输出像上面那样?错误代码在哪里

标签: phparrayscodeigniter

解决方案


您正在为每个循环打印数组,试试这个:

 public function inputData(){
        $provinsi = $this->input->post('provinsi');
        $res = array();
        for ($i=0; $i < count($provinsi); $i++) { 
            $res[] = array(
                'id_finance' => '1',
                'provinsi'   => $provinsi[$i],
            );
         $this->db->insert_batch('lokasi', $res);
        }
        echo "<pre>", print_r($res);
    }

推荐阅读