如何在codeigniter中插入多个发票值

时间:2017-05-24 10:19:58

标签: php codeigniter

我在codeigniter中有一个以下布局的表单:

<input type="text" name="product">`<input type="text" name="cost">`

表单有几行,输入名称相同。已经尝试了一些建议,例如Batch creationthis thread here,但没有成功

4 个答案:

答案 0 :(得分:3)

function insertData() {
    $product = $this->input->post('product');
    $cost = $this->input->post('cost');

    foreach($product as $key=>$val){

     $data = array(
        'product'     =>$val,
        'cost'  =>$cost[$key]

        );

    }
   $this->db->insert_batch('table_name', $data); 
}

控制器:

button.layer.cornerRadius = button.frame.size.width/2

答案 1 :(得分:0)

你需要像这样创建一个post数组:

<input type="text" name="product[]">
<input type="text" name="cost[]">

然后你可以预先发布你的帖子和insert_batch或几个普通的insert();

答案 2 :(得分:0)

使用相同文本框名称的数组进行批量插入

insert_batch函数一次向codeigniter中的表插入多个数据

查看页面

<form action="<?=base_url('Test_c/insert_data')?>" method="post">
            <div class="col-sm-12">
                <input type="text" name="product[]"><input type="text" name="cost[]">
            </div>
            <div class="col-sm-12">
                <input type="text" name="product[]"><input type="text" name="cost[]">
            </div>
            <div class="col-sm-12">
                <input type="text" name="product[]"><input type="text" name="cost[]">
            </div>
            <div class="col-sm-12">
                <input type="text" name="product[]"><input type="text" name="cost[]">
            </div>
            <div class="col-sm-12">
                <input type="text" name="product[]"><input type="text" name="cost[]">
            </div>
            <input type="submit" name="submit" value="submit">
        </form>

控制器功能

function insert_data() {
            $product = $this->input->post('product');
            $cost = $this->input->post('cost');
            $insert_array = array();
            for ($i=0; $i < count($product); $i++) {
                $tmp = array();
                $tmp['product'] = $product[$i];
                $tmp['cost'] = $cost[$i];
                $insert_array[] = $tmp;
            }

            $this->db->insert_batch('test', $insert_array);
            //echo $this->db->last_query();
    }

答案 3 :(得分:0)

  

查看

 <input type="text" name="product[]"><input type="text" name="cost[]">
  

控制器

$arrayOne = $this->input->post('product'); //array(1,2,4);
$arrayTwo = $this->input->post('cost'); //array(22,44,55);
$c = array_combine($arrayOne,$arrayTwo ); // output:array(1=>22,2=>44,4=>55)

foreach($c as $key=>$val){

  $data = array(
     'product_id' => $key ,
     'cost' => $val 
  );

  $this->db->insert('TABLENAME', $data); 

}