我在codeigniter中有一个以下布局的表单:
<input type="text" name="product">`<input type="text" name="cost">`
表单有几行,输入名称相同。已经尝试了一些建议,例如Batch creation和this thread here,但没有成功
答案 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);
}