[ad_1]
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
$active_group = 'default'; $query_builder = TRUE; $db['default'] = array( 'dsn' => '', 'hostname' => 'localhost', // your hostname 'username' => 'root', // your DB username 'password' => '', // DB password 'database' => 'cicrud', // your database name 'dbdriver' => 'mysqli', 'dbprefix' => '', 'pconnect' => FALSE, 'db_debug' => (ENVIRONMENT !== 'production'), 'cache_on' => FALSE, 'cachedir' => '', 'char_set' => 'utf8', 'dbcollat' => 'utf8_general_ci', 'swap_pre' => '', 'encrypt' => FALSE, 'compress' => FALSE, 'stricton' => FALSE, 'failover' => array(), 'save_queries' => TRUE );
2. Charge bibliothèques et aides dans application / autoload.php utilisé dans cette opération CRUD.
$autoload['libraries'] = array('form_validation','session','database');
$autoload['helper'] = array('url','html','form');
- Bibliothèque de base de données utilisée pour les requêtes liées à la base de données
- Bibliothèque de session utilisée pour afficher le message de réussite / d’erreur à l’aide de flashdata.
- bibliothèque form_validation utilisée pour les règles de validation de formulaire.
- Html Helper pour utilisé pour link_tag
- assistant de formulaire utilisé pour le formulaire
- aide d’url utilisée pour base_url.
Pour l’insertion de données (opération de création)
Créer une vue pour l’insertion de données (insert.php) dans l’application / les vues
'insertdata','autocomplete'=>'off']);?>Insert Record | CRUD Operations using CodeIgniter
First Name 'firstname','class'=>'form-control','value'=>set_value('firstname')]);?> <?php echo form_error('firstname',"","");?>Last Name 'lastname','class'=>'form-control','value'=>set_value('lastname')]);?> <?php echo form_error('lastname',"","");?>Email id 'emailid','class'=>'form-control','value'=>set_value('emailid')]);?> <?php echo form_error('emailid',"","");?>Contactno 'contactno','class'=>'form-control','value'=>set_value('contactno')]);?> <?php echo form_error('contactno',"","");?>Address 'address','class'=>'form-control','value'=>set_value('address')]);?> <?php echo form_error('address',"","");?>'insert','value'=>'Submit']);?>
Créez un contrôleur pour l’insertion de données (Insert.php) dans l’application / le contrôleur. Met le validation règles dans ce contrôleur.
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');
//loading model
$this->load->model('Insert_Model');
$this->Insert_Model->insertdata($fname,$lname,$email,$cntno,$adrss);
$this->load->view('insert');
} else {
$this->load->view('insert');
}
}
}
Créez un modèle (Insert_Model.php) dans l’application / le modèle.
$fname,
'LastName'=>$lname,
'EmailId'=>$email,
'ContactNumber'=>$cntno,
'Address'=>$adrss
);
$sql_query=$this->db->insert('tblusers',$data);
if($sql_query){
$this->session->set_flashdata('success', 'Registration successful');
redirect('read');
}
else{
$this->session->set_flashdata('error', 'Somthing went worng. Error!!');
redirect('read');
}
}}
Pour la récupération de données (opération de lecture)
Créez un modèle (Read_Model.php dans l’application / les modèles) pour lire les données de la base de données en utilisant Enregistrements actifs .
db->select('FirstName,LastName,EmailId,ContactNumber,Address,PostingDate,id')
->get('tblusers');
return $query->result();
}
}
Créez maintenant un contrôleur (Read.php) dans l’application / le contrôleur.
load->model('Read_Model');
$results=$this->Read_Model->getdata();
// Passing values to view
$this->load->view('read',['result'=>$results]);
}
}
Créez une vue (read.php dans l’application / vues) pour afficher les données.
CRUD Operations using CodeIgniter
session->flashdata('success')) { ?>session->flashdata('success'); ?>
session->flashdata('error')) { ?>session->flashdata('error'); ?>
<a href="https://phpgurukul.com/">
# First Name Last Name Contact Address Posting Date Edit Delete FirstName);?> LastName);?> EmailId);?> ContactNumber);?> Address);?> PostingDate);?> id}",' ','class="btn btn-primary btn-xs glyphicon glyphicon-pencil"')?> id}",' ','class="glyphicon glyphicon-trash btn-danger btn-xs"')?>
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.
session->flashdata('success')) { ?>Update Record | CRUD Operations using CodeIgniter
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)]);?> <?php echo form_error('firstname',"","");?>Last Name 'lastname','class'=>'form-control','value'=>set_value('lastname',$row->LastName)]);?> <?php echo form_error('lastname',"","");?>Email id 'emailid','class'=>'form-control','value'=>set_value('emailid',$row->EmailId)]);?> <?php echo form_error('emailid',"","");?>Contactno 'contactno','class'=>'form-control','value'=>set_value('contactno',$row->ContactNumber)]);?> <?php echo form_error('contactno',"","");?>Address 'address','class'=>'form-control','value'=>set_value('address',$row->Address)]);?> <?php echo form_error('address',"","");?>'insert','value'=>'Update']);?>
