Swap
Swap

Reputation: 165

How to restrict user to add input duplicate data into database using codeigniter

I'd One text_box(txtname) & Add button in View . I've to restrict user to add already existing(duplicate) data in a database . after clicking on Add button. what changes should I've to do in Model & controller. I tried to copy+ paste my model & controller code but due to some restrictions of website i'm not getting able to display code. please kindly suggest me what should I've to do ?Model

Upvotes: 0

Views: 72

Answers (3)

Swap
Swap

Reputation: 165

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','&nbsp&nbsp&nbsp  Inserted record already exist');  
redirect('Welcome/displayMasterMenu');  
}
else
{
$this->CrudModel->saveMenudata();
$this->session->set_flashdata('msg','You have successfully Inserted record');       
redirect('Welcome/displayMasterMenu');
}   
}

Upvotes: 0

PHP Geek
PHP Geek

Reputation: 4033

try this i hope it will help you. first of all get data by textAddItem

//controller save data function

//get 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);
    }

//modele

function method_name($textAddItem) {
        return $this->db->where('cat_name', $textAddItem)
                        ->get('tbl_category')->row_array();
    }

Upvotes: 1

Danish Ali
Danish Ali

Reputation: 2352

First, check the cat_name in the DB before inserting in the controller

Controller

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
    }
 }

Model

public function check_category($data){
   return $this->db->get_where('tbl_cateogry', $data)->num_rows();
}

Upvotes: 0

Related Questions