如何使用codeigniter从多个复选框项目中保存

时间:2014-09-24 07:29:04

标签: php database codeigniter checkbox

我有与codeigniter的assigment scholl项目,我想用codeigniter和简单的脚本保存一个值形式的许多复选框项目这是我的脚本: 我的控制员:

 class Item extends CI_Controller{  
     function save() { 
        $item1 = $this->input->post('item1');
        $item2 = $this->input->post('item2');
          ...............
        $item100 = $this->input->post('item100');       
        $this->item_model->save($item1,$item2,..........$item100);        
      } 
}

这是我的模特:

class Item_model extends CI_Model{
     function save($item1,$item2,............,$item100) { 
        $data= array( 'item1'=> $item1,'item2'=> $item2,......... ,'item100'=> $item100);
        $this->db->insert('tbl_item',$data);
    }
 }

有人可以帮助我,如何简单

2 个答案:

答案 0 :(得分:1)

使用数组作为所有复选框的名称

<input type="checkbox" name="input[]">
<input type="checkbox" name="input[]">
.
.
<input type="checkbox" name="input[]"><!--all 100 checkbox-->

所以你可以把数组作为输入

$items = $this->input->post('item');

因此,您只需使用一个参数

调用save函数即可
$this->item_model->save($items); 
  

注意:请求仅获取已选中复选框的值。

答案 1 :(得分:0)

首先更改Checkbox的名称,如

<input type="checkbox" name="item[]">

然后更改保存代码,如

$items = $this->input->post('item');
$loopcount = sizeof($items);
for($i =0 ; $i<= $loopcount; $i++)
{
    //your save code here
     $this->item_model->save($items[$i]);
}