使用复选框在codeigniter中插入多个记录

时间:2016-07-04 16:10:21

标签: arrays codeigniter

我有2个输入数组,一个是复选框,另一个是文本框

这是我的视图文件

<div class="form-group">
        <label class="col-lg-2 control-label">Fee Types</label>
        <div class="col-lg-8">
        <div class="checkbox">
        <?php foreach($types as $key=>$value){?> 
            <label>
                <input type="checkbox"  value="<?php echo $value['id'] ?>"  name="type_id[]" />
                <span class="text"><?php echo $value['name'] ?></span>
            </label>
            <input type="text"  class="form-control"  name="amount[]" />
            <?php } ?>
        </div>
        </div>
    </div>

这是我的控制器

$data=array(
                    'id'=>$this->input->post('id'),
                    'amount'=>$this->input->post('amount'),
                    'type_id'=>$this->input->post('type_id'),
                    'created_date'=>date('Y-m-d'),
                    );
                    $this->user->details($data);

任何人都可以告诉我如何将这两个数组作为多个记录插入

2 个答案:

答案 0 :(得分:0)

$checkboxes = $this->input->post('type_id[]');
$amounts= $this->input->post('amount[]');

for ($i = 0; $i < count($amounts); $i++) {
   $data = array(
       'id'=> $yourIdPostField,
       'amount'=>$amounts[$i],
       'type_id'=> $checkboxes[$i],
       'created_date'=>date('Y-m-d'),
   );
   $this->user->details($data);
}

这是一种简单的方法......但也许你的问题是没有复选框发布数据因为没有检查,如果你想要那个问题然后在表单中添加增量号...

<div class="form-group">
        <label class="col-lg-2 control-label">Fee Types</label>
        <div class="col-lg-8">
        <div class="checkbox">
        <?php foreach($types as $key=>$value){?> 
            <label>
                <input type="checkbox"  value="<?php echo $value['id'] ?>"  name="type_id[$key]" />
                <span class="text"><?php echo $value['name'] ?></span>
            </label>
            <input type="text"  class="form-control"  name="amount[<?php echo $key ?>]" />
            <?php } ?>
        </div>
        </div>
    </div> 

答案 1 :(得分:0)

$ checkboxes = $ this-> input-> post('type_id []'); $ amounts = $ this-> input-> post('amount []');

$ example1 = implode(“”,$ checkboxes);

$ example2 = implode(“”,$ amounts);

请尝试这个。希望您的问题得到解决。 $ checkboxes,$ amounts此变量是数组,因此这些变量值无法存储在数据库中。因此,请将数组转换为字符串。 谢谢