在codeigniter插入多复选框值 [英] Inserting multiple checkbox values in codeigniter
本文介绍了在codeigniter插入多复选框值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在同一个ID多重插入复选框。我的表是这样的:
ID id_fleet unit_id
1 CAO27
2 1 CA098
3 2 CA078
在一个形式提交我选择id_fleet 1和我检查2 unit_id。我尝试用我的code只救一个检查。
这是我的控制器code:
$舰队= $这个 - >输入 - >后期('id_fleet');
$ unit_id = $这个 - >输入 - >后期('unit_id'); $记录=阵列(); 为($ I = 0; $ I<计数(unit_id $); $ I ++){
$数据=阵列(
id_fleet'=> $舰队,
unit_id'=> $ unit_id
); array_push($记录,$数据);
} $查询= $这个 - > database_three->查询(选择
COUNT(id_fleet_member)从fleet_member单位
其中,id_fleet ='$舰队');
$ ANS = $查询 - >排(); 如果($ ans->部> 0)
{
$这个 - >会话级> set_flashdata(信息,generateErrorMessage(数据gagal ditambah'));
重定向(SITE_URL('fleet_member'));
}
其他
{
为($ I = 0; $ I<的sizeof($数据['unit_id']); $ I ++){
$查询=插入fleet_member(id_fleet,unit_id)VALUES(''[id_fleet'],'$数据['unit_id] [$ i]。'$的数据。'');
$这个 - >会话级> set_flashdata(信息,generateSuccessMessage(数据berhasil ditambah'));
重定向(SITE_URL('fleet_member'));
} }
这是我的模型:
函数add_fleet_member($数据)
{
$这个 - > database_three->插入($这个 - > tbl_fleet_member,$数据);
如果(这 - $> database_three-> affected_rows()→1)
{
返回true;
}其他{
返回false;
}
}
这是考虑到:
< DIV CLASS =复选框>
?< PHP的foreach($ unit_list为$数据):>?
<标签>
<输入类型=复选框NAME =unit_id []VALUE =< PHP的echo $数据 - > unit_id>>< PHP的echo $数据 - > unit_id&GT?;
< /标签>
<?PHP endforeach>
< / DIV>
您可以帮我为什么我的code只能保存一个值复选框?
感谢您
解决方案
$舰队= $这个 - >输入 - >后期('id_fleet');
$ unit_id = $这个 - >输入 - >后期('unit_id'); $记录=阵列(); 为($ I = 0; $ I<计数(unit_id $); $ I ++){
$记录[] =阵列('id_fleet'=> $舰队,'unit_id'=> $ unit_id [$ i]);
} $查询= $这个 - > database_three->查询(选择
COUNT(id_fleet_member)从fleet_member单位
其中,id_fleet ='$舰队');
$ ANS = $查询 - >排(); 如果($ ans->部> 0)
{
$这个 - >会话级> set_flashdata(信息,generateErrorMessage(数据gagal ditambah'));
重定向(SITE_URL('fleet_member'));
}
其他
{ 的foreach($记录为$关键=> $值){
$查询=插入fleet_member(id_fleet,unit_id)VALUES('$值。['id_fleet'],'$值。['unit_id']。'。');
$这个 - > DB-GT&;查询($查询);
}
$这个 - >会话级> set_flashdata(信息,generateSuccessMessage(数据berhasil ditambah'));
重定向(SITE_URL('fleet_member'));
}
I want to make multiple insert checkbox in same ID. I have table like this:
id id_fleet unit_id
1 1 CAO27
2 1 CA098
3 2 CA078
in one form submit I select in id_fleet 1 and I check 2 unit_id. I try with my code it only save one check.
this is my code in controller:
$fleet = $this->input->post('id_fleet');
$unit_id = $this->input->post('unit_id');
$records = array();
for ($i=0; $i < count($unit_id) ; $i++) {
$data = array(
'id_fleet' => $fleet,
'unit_id' => $unit_id
);
array_push($records, $data);
}
$query = $this->database_three->query("select
count(id_fleet_member) as unit from fleet_member
where id_fleet = '$fleet'");
$ans = $query->row();
if ($ans->unit > 0)
{
$this->session->set_flashdata('message', generateErrorMessage('Data gagal ditambah'));
redirect(site_url('fleet_member'));
}
else
{
for ($i=0; $i <sizeof($data['unit_id']) ; $i++) {
$query = "insert into fleet_member (id_fleet, unit_id) values ('".$data['id_fleet']."','".$data['unit_id'][$i]."')";
$this->session->set_flashdata('message', generateSuccessMessage('Data berhasil ditambah'));
redirect(site_url('fleet_member'));
}
}
this is my model:
function add_fleet_member($data)
{
$this->database_three->insert($this->tbl_fleet_member, $data);
if ($this->database_three->affected_rows() > 1)
{
return true;
}else{
return false;
}
}
and this is in view:
<div class="checkbox">
<?php foreach ($unit_list as $data) :?>
<label>
<input type="checkbox" name="unit_id[]" value="<?php echo $data->unit_id ?>"><?php echo $data->unit_id ?>
</label>
<?php endforeach?>
</div>
can you help me why my code only save one value checkbox?
thank you
解决方案
$fleet = $this->input->post('id_fleet');
$unit_id = $this->input->post('unit_id');
$records = array();
for ($i=0; $i < count($unit_id) ; $i++) {
$records[] = array('id_fleet' => $fleet,'unit_id' => $unit_id[$i]);
}
$query = $this->database_three->query("select
count(id_fleet_member) as unit from fleet_member
where id_fleet = '$fleet'");
$ans = $query->row();
if ($ans->unit > 0)
{
$this->session->set_flashdata('message', generateErrorMessage('Data gagal ditambah'));
redirect(site_url('fleet_member'));
}
else
{
foreach ($records as $key => $value) {
$query = "insert into fleet_member (id_fleet, unit_id) values ('".$value['id_fleet']."','".$value['unit_id']."')";
$this->db->query($query);
}
$this->session->set_flashdata('message', generateSuccessMessage('Data berhasil ditambah'));
redirect(site_url('fleet_member'));
}
这篇关于在codeigniter插入多复选框值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文