Fonctionnement CRUD dans CodeIgniter, Tutoriel sur les opérations CRUD avec MySQL


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.
lire plus  Système de gestion du tourisme en php téléchargement gratuit avec code source

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

Insert Record | CRUD Operations using CodeIgniter


'insertdata','autocomplete'=>'off']);?>
First Name 'firstname','class'=>'form-control','value'=>set_value('firstname')]);?> ","
");?>
Last Name 'lastname','class'=>'form-control','value'=>set_value('lastname')]);?> ","
");?>
Email id 'emailid','class'=>'form-control','value'=>set_value('emailid')]);?> ","
");?>
Contactno 'contactno','class'=>'form-control','value'=>set_value('contactno')]);?> ","
");?>
Address 'address','class'=>'form-control','value'=>set_value('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'); ?>

">
# First Name Last Name Email 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.

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)]);?> ","
");?>
Contactno 'contactno','class'=>'form-control','value'=>set_value('contactno',$row->ContactNumber)]);?> ","
");?>
Address 'address','class'=>'form-control','value'=>set_value('address',$row->Address)]);?> ","
");?>
'insert','value'=>'Update']);?>

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.

load->model('Delete_Model');
$this->Delete_Model->deleterow($uid);
$this->load->view('read');
}
}

Créez maintenant un modèle pour la suppression des données (Delete_Model.php) dans l’application / le modèle.

db->where('id', $uid)
                ->delete('tblusers');
           if($sql_query){
$this->session->set_flashdata('success', 'Record delete successfully');
		redirect('read');
	}
	else{
		$this->session->set_flashdata('error', 'Somthing went worng. Error!!');
		redirect('read');
	}
}
}

Voir la démo ———————————————————-

Comment exécuter ce script

  1. Téléchargez le fichier zip.
  2. Extraire le zip et copier le dossier cicrud
  3. Coller dans le répertoire racine (pour xampp htdocs et pour wamp www)
  4. Ouvrez votre navigateur, mettez http: // localhost / phpmyadmin
  5. Créer une base de données cicrud
  6. Importer le fichier sql cicrud.sql
  7. Exécutez votre script http: // localhost / cicrud

Opération CRUD dans CodeIgniter (Télécharger le script complet)

Taille: 4,46 Mo

Version: V 1



Telecharger ici

Post Views: 1 061
Laisser un commentaire

Aller au contenu principal