无法在 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);
}
}
希望能插入数据库
谢谢
我试图插入多个复选框,但无法在 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);
}
}
希望能插入数据库
谢谢