【问题标题】:Input array codeigniter输入数组codeigniter
【发布时间】:2021-11-23 08:37:53
【问题描述】:

我有这样的动态

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

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

这是我的代码

 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 帮助。

如何使输出如上?错误代码在哪里

【问题讨论】:

    标签: php arrays codeigniter


    【解决方案1】:

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

     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);
        }
    

    【讨论】:

      【解决方案2】:

      查看:-

      <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>
       
      

      控制器代码:-

      public function inputData(){
              $mainarray = array();
              $data= $this->input->post();
              for ($i = 0; $i < sizeof($data['provinsi']); $i++) {
                 $arr = array(
                      'id_finance'=>'1',
                      'provinsi'=>$data['provinsi'][$i],
                      $mainarray[] =  $arr;               
              }
             $table="table_name";
          $result=$this->db->insert_batch($table,$mainarray); 
           }
      

      【讨论】:

      • 谢谢大家,我想再试一次
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-12
      • 2012-01-02
      • 2016-09-06
      • 2015-11-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多