Dans ce didacticiel, nous allons en apprendre davantage sur le fonctionnement du CRUD dans CodeIgniter. CRUD signifie créer, lire, mettre à jour et supprimer un enregistrement dans la base de données. Structure tblusers de table SQL utilisée dans cette opération CRUD.
CREATE TABLE `tblusers` (
`id` int(11) NOT NULL,
`FirstName` varchar(150) NOT NULL,
`LastName` varchar(150) NOT NULL,
`EmailId` varchar(120) NOT NULL,
`ContactNumber` char(11) NOT NULL,
`Address` varchar(255) NOT NULL,
`PostingDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `tblusers` ADD PRIMARY KEY (`id`);
ALTER TABLE `tblusers`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
COMMIT;
1.Créez une base de données puis configurez vos informations d’identification db dans application / database.php
Pour la mise à jour des données (opération de mise à jour)
Lors de l’opération précédente, nous avons récupéré toutes les données de la base de données. Désormais, chaque fois que l’utilisateur clique sur l’ID de ligne du bouton d’édition transmis au contrôleur sur la base de cet ID de ligne, nous allons récupérer et mettre à jour les données. Nous allons d’abord récupérer les données de ligne particulières, puis les mettre à jour. Nous avons déjà créé un contrôleur Read.php maintenant ajouter une fonction avec le paramètre «getdetails ($ uid)» dans ce contrôleur pour récupérer un enregistrement particulier.
// for particular recod
public function getdetails($uid)
{
//loading model
$this->load->model('Read_Model');
$reslt=$this->Read_Model->getuserdetail($uid);
// Passing Values to update view
$this->load->view('update',['row'=>$reslt]);
}
Maintenant, nous allons ajouter une nouvelle fonction «getuserdetail ($ uid)» dans Read_Model.php pour récupérer des données de ligne particulières.
public function getuserdetail($uid){
$ret=$this->db->select('FirstName,LastName,EmailId,ContactNumber,Address,PostingDate,id')
->where('id',$uid)
->get('tblusers');
return $ret->row();
}
Créez une vue pour la mise à jour des données (update.php) dans l’application / les vues.
Update Record | CRUD Operations using CodeIgniter
session->flashdata('success')) { ?>
session->flashdata('success'); ?>
session->flashdata('error')) { ?>
session->flashdata('error'); ?>
'insertdata','autocomplete'=>'off']);?>
id);?>
First Name
'firstname','class'=>'form-control','value'=>set_value('firstname',$row->FirstName)]);?>
","
");?>
Last Name
'lastname','class'=>'form-control','value'=>set_value('lastname',$row->LastName)]);?>
","
");?>
Email id
'emailid','class'=>'form-control','value'=>set_value('emailid',$row->EmailId)]);?>
","
Ajoutez maintenant une fonction «updatedetails» dans Insert.php pour la mise à jour des données et définissez des règles de validation dans ce contrôleur.
// For data updation
public function updatedetails(){
$this->form_validation->set_rules('firstname','First Name','required|alpha');
$this->form_validation->set_rules('lastname','Last Name','required|alpha');
$this->form_validation->set_rules('emailid','Email id','required|valid_email');
$this->form_validation->set_rules('contactno','Contact Number','required|numeric|exact_length[10]');
$this->form_validation->set_rules('address','Address','required');
if($this->form_validation->run()){
$fname=$this->input->post('firstname');
$lname=$this->input->post('lastname');
$email=$this->input->post('emailid');
$cntno=$this->input->post('contactno');
$adrss=$this->input->post('address');
$usid=$this->input->post('userid');
$this->load->model('Insert_Model');
$this->Insert_Model->updatedetails($fname,$lname,$email,$cntno,$adrss,$usid);
} else {
$this->session->set_flashdata('error', 'Somthing went worng. Try again with valid details !!');
redirect('read');
}
}
Après cela, ajoutez une nouvelle fonction «updatedetails» dans Insert_Model.php pour la mise à jour des données.
public function updatedetails($fname,$lname,$email,$cntno,$adrss,$usid){
$data=array(
'FirstName'=>$fname,
'LastName'=>$lname,
'EmailId'=>$email,
'ContactNumber'=>$cntno,
'Address'=>$adrss
);
$sql_query=$this->db->where('id', $usid)
->update('tblusers', $data);
if($sql_query){
$this->session->set_flashdata('success', 'Record updated successful');
redirect('read');
}
else{
$this->session->set_flashdata('error', 'Somthing went worng. Error!!');
redirect('read');
}
Pour la suppression des données (opération de suppression)
Créez un contrôleur (Delete.php) dans l’application / les contollers.