0
我有一個包含複選框陣列形式,我想在數據庫中檢查是否有一定的複選框存在的價值,如果沒有然後將其插入到數據庫:笨檢查複選框陣列是否存在於數據庫
這裏是我的當前代碼:
查看頁:
<form action="<?php echo site_url('test/post_form')?>" method="post">
<input type="text" name="full_name">
<input type="checkbox" name="subject[]" value="Algebra" >
<input type="checkbox" name="subject[]" value="Trigonometry" >
<input type="checkbox" name="subject[]" value="Geometry" >
<input type="submit" name="submit">
控制器Page:
public function post_form()
{
$post_data = array(
'subject'=>$this->input->post('subject'),
'full_name'=>$this->input->post('full_name'),
);
$this->load->model('subject_model');
if($this->subject_model->check_subject($post_data)===true)
{
$this->session->set_flashdata('msg', 'Already Exist');
redirect('test/error_page');
}
else
{
insert to database
}
}
模型Page:
public function check_subject($post_data=array())
{
extract($post_data);
foreach($post_data as $key=>$value)
{
$this->db->select('subject');
$this->db->where('subject',$value['subject']);
$this->db->where('full_name',$value['full_name']);
$this->db->from('subject_table');
$query=$this->db->get();
if ($query->num_rows() > 0)
{
return true;
}
else
{
return true;
}
}
示例場景:
- 可以說,在DB三角存在,
- 如果我檢查所有的複選框,並提交,它仍然插入三角。
- 但是,如果代數存在於db中,
- 並且我檢查所有的複選框,它說已經存在。
- 看起來像只有第一個值被檢查重複。
那麼真正的問題是什麼?獲取錯誤?不能正常工作?怎麼了? – qwerty 2013-03-06 13:16:33
爲什麼你不用'$ this-> input-> post('subject')'數組來定義'$ post_data'數組?我在任何地方都沒有看到'$ this-> input-> post('dept')'的任何輸入數據...... – jtheman 2013-03-06 13:19:27