Как запретить пользователю добавлять входные дубликаты данных в базу данных с помощью codeigniter - PullRequest
0 голосов
/ 07 марта 2019

Я бы один текстовое поле (текстовое имя) и кнопку Добавить в представлении. Я должен ограничить пользователя, чтобы добавить уже существующие (дублирующие) данные в базе данных. после нажатия на кнопку Добавить. какие изменения я должен сделать в Model & controller. Я пытался скопировать + вставить код моей модели и контроллера, но из-за некоторых ограничений веб-сайта я не могу отобразить код. пожалуйста, предложите мне, что мне делать? Model

Ответы [ 3 ]

0 голосов
/ 08 марта 2019

попробуйте это, я надеюсь, это поможет вам.прежде всего получить данные по textAddItem

// функция сохранения данных контроллера

// 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();
    }
0 голосов
/ 11 марта 2019
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');
}   
}
0 голосов
/ 08 марта 2019

Сначала проверьте 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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...