我将在View中添加一个text_box(txtname)和“添加”按钮。我必须限制用户在数据库中添加已经存在的(重复的)数据。单击添加按钮后。我应该在“模型和控制器”中进行哪些更改。 我试图复制并粘贴我的模型和控制器代码,但是由于网站的某些限制,我无法显示代码。请建议我该怎么办?
答案 0 :(得分:0)
首先,在插入控制器之前,先检查数据库中的cat_name
控制器
public function function_name(){
$this->load->model('CrudModel');
$data = array('cat_name' => $name);
$if_exists = $this->CrudModel->check_category($data);
if($if_exists > 0){
//Already Exists
}else{
//New insertion
}
}
模型
public function check_category($data){
return $this->db->get_where('tbl_cateogry', $data)->num_rows();
}
答案 1 :(得分:0)
尝试这个,希望对您有所帮助。 首先通过textAddItem获取数据
//控制器保存数据功能
//获取txtAdditem
$txtAddItem = $this->modelname->method_name($this->input->post('textAddItem'));
if (count($txtAddItem) > 0) {
//already existed
}
else{
$data=array(
$name=>$this->input->post('textAddItem')
);
return $query=$this->db->insert('tbl_category',$data);
}
//模型
function method_name($textAddItem) {
return $this->db->where('cat_name', $textAddItem)
->get('tbl_category')->row_array();
}
答案 2 :(得分:0)
public function insertMenurecord()
{
$this->load->model('CrudModel');
$this->form_validation->set_rules('txtMenuItem', 'Menu','required|is_unique[tbl_menumaster.menu_name]');
if ($this->form_validation->run() == FALSE)
{
$this->session->set_flashdata('msg','    Inserted record already exist');
redirect('Welcome/displayMasterMenu');
}
else
{
$this->CrudModel->saveMenudata();
$this->session->set_flashdata('msg','You have successfully Inserted record');
redirect('Welcome/displayMasterMenu');
}
}