无法在 codeigniter 中获取复选框的值

Cant get values of checkboxes in codeigniter

我试图插入多个复选框,但无法在 codeigniter 2 中获取它们的值

这是我在 View

中的代码
   <!-- Multiple Checkboxes (inline) -->
                    <div class="form-group">
                      <div class="col-md-4">
                        <label class="checkbox-inline" for="checkboxes-0">
                          <input type="checkbox" name="checkboxes[]" id="checkboxes-0" value="22">
                          Пентхаус
                        </label>
                          <br>
                    <!-- Text input-->
                    <div class="form-group">
                      <div class="col-md-8">
                      <input id="cena" name="cena[]" type="text" placeholder="Въведи цена" class="form-control input-md">

                      </div>
                    </div>

                        <label class="checkbox-inline" for="checkboxes-1">
                          <input type="checkbox" name="checkboxes[]" id="checkboxes-1" value="21">
                          Гараж/Паркомясто
                        </label>
                    <br>
                                            <!-- Text input-->
                    <div class="form-group">
                      <div class="col-md-8">
                      <input id="cena" name="cena[]" type="text" placeholder="Въведи цена" class="form-control input-md">

                      </div>
                    </div>

这是我的模特:

    public function InsertCheckbox() {

           $property_typesRequest = $this->input->post('checkboxes');
            foreach($property_typesRequest as $value){
            $this->db->insert_batch('property_type_details', $property_typesRequest);

            }

}

在控制器中我只使用这个:

        $this->estate_m->InsertCheckbox();

这将在数据库中插入 0,当我 var_dump $property_typesRequest 显示 bool(false) 时。我无法获取复选框的值...

编辑...

我已经尝试编辑我的代码,但仍然没有结果:

  public function edit()/*this is  controller */
{  
    $data=array('column_name'=>$this->input->post('checkboxes');
    $result=$this->estate_m->InsertCheckbox($data);
    if($result==true)
    {
            echo "Success";
    }
    else
    {
            echo "Fail";
    }

}
public function InsertCheckbox($data) /*this is Model */
    {    
    $this->db->insert('property_type_details', $data);
    return ($this->db->affected_rows() != 1 ) ? false : true;

}

使用这个编辑过的代码总能给我成功

表单提交的值应该在多维数组中 为此,您的表单输入应该是多维度的。

对于insert_batch()函数,数组应该是多维的。 在数组中,每个键必须是 db table 中的字段名称,值必须是表单输入值。 所以像下面的数组一样改变表单结构。

array(
   array(
     'checkboxes' => 'checkboxe value' ,
     'cena' => 'cena values'
   ),
   array(
     'checkboxes' => 'checkboxe value' ,
     'cena' => 'cena values'
   )
); 

表单输入应如下所示:

<input name="data[1][checkbox_columnname]" type="checkbox" value="21">Пентхаус
<input name="data[1][textbox_columnname]" type="text">

<input name="data[2][checkbox_columnname]" type="checkbox" value="22">Гараж/Паркомясто
<input name="data[2][textbox_columnname]" type="text">

并且模型不应该有 foreach 循环。 只需将数据传递如下。

$data=$this->input->post('data');

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

请在模型中使用此代码。

 public function InsertCheckbox() {

            $property_typesRequest = $this->input->post('checkboxes');
            foreach($property_typesRequest as $value){
              $data['columnename'] = $value;
              $this->db->insert('tablename', $data); 
            }

}

希望能插入数据库

谢谢