In this post we will learn , CRUD example in codeigniter.
Step 1 : Create Table:
CREATE TABLE IF NOT EXISTS `emp` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `email` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `mobno` bigint(10) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Step 2 :Application/config/database.php
defined('BASEPATH') OR exit('No direct script access allowed');
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => 'root',
'database' => 'test',
'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
);
Step 3 : Create Controller (CRUD.php):
defined('BASEPATH') OR exit('No direct script access allowed');
class Crud extends CI_Controller {
public function __construct(){
parent::__construct();
$this->load->library('form_validation');
$this->load->library('session');
$this->load->model('CRUDModel');
}
public function index(){
$result['datas']=$this->CRUDModel->showAll();
$this->load->view('list',$result);
}
public function create(){
$this->load->view('create');
}
public function store(){
$this->form_validation->set_rules('name', 'Name ', 'required');
$this->form_validation->set_rules('email', 'Email ', 'required');
$this->form_validation->set_rules('mobno', 'Mobile No ', 'required');
if ($this->form_validation->run() == FALSE){
$this->load->view('create');
}else{
$retval = $this->CRUDModel->save($this->input->post());
$this->session->set_flashdata('message','Data Saved Successfully');
$this->index();
}
}
public function edit(){
$result['data'] = $this->CRUDModel->showById($this->input->post('id'));
$this->load->view('edit',$result);
}
public function update(){
$this->form_validation->set_rules('name', 'Name ', 'required');
$this->form_validation->set_rules('email', 'Email ', 'required');
$this->form_validation->set_rules('mobno', 'Mobile No ', 'required');
$result['data'] = $this->CRUDModel->showById($this->input->post('id'));
if ($this->form_validation->run() == FALSE){
$this->load->view('edit',$result);
}else{
$retval = $this->CRUDModel->update($this->input->post());
$this->session->set_flashdata('message','Data Updated Successfully');
$this->index();
}
}
public function delete(){
$this->CRUDModel->delete($this->input->post('id'));
$this->session->set_flashdata('message','Data Deleted Successfully');
$this->index();
}
}
Step 4 : Create Model(CRUDModel.php):
defined('BASEPATH') OR exit('No direct script access allowed');
class CrudModel extends CI_Model{
private $table = 'emp';
public function save($data){
unset($data['submit']);
if($this->db->insert($this->table,$data)){
return true;
}else{
return false;
}
}
public function showAll(){
$datas = $this->db->get($this->table);
return $datas->result();
}
public function showById($id){
$data = $this->db->get_where($this->table,array('id'=>$id));
return $data->row();
}
public function update($data){
$array = array('name'=>$data['name'],'email'=>$data['email'],'mobno'=>$data['mobno']);
$this->db->where('id', $data['id']);
$this->db->update($this->table, $array);
return true;
}
public function delete($id){
$this->db->where('id', $id);
$this->db->delete($this->table);
return true;
}
}
Step 5 : Create View(list.php):
<html lang="en">
<head>
<title>Ci Crud Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
</head>
<body>
<h1 class="text-success" align="center">CI Crud Example</h1><br>
<div class="container"> <a href="<?php echo site_url();?>/crud/create" class="btn btn-primary pull-right">Insert</a> <br><br>
<h4 class="text text-success"><?php echo $this->session->flashdata('message'); ?></h4>
<table class="table table-striped table-hover table-bordered">
<thead>
<tr class="active">
<th>Sl No.</th>
<th>Name</th>
<th>Email</th>
<th>Mobile No</th>
<th>Edit</th>
<th>Delete</th>
</tr>
</thead>
<tbody>
<tr>
<?php $sn=1;?>
<?php foreach($datas as $data) { ?>
<td><?php echo $sn++;?>
<td><?php echo $data->name;?></td>
<td><?php echo $data->email;?></td>
<td><?php echo $data->mobno;?></td>
<form method="post" action="<?php echo site_url();?>/crud/edit">
<td><button type="submit" class="btn btn-primary">
<span class="glyphicon glyphicon-pencil"></span>
<input type="hidden" value="<?php echo $data->id;?>" name="id">
</button>
</td>
</form>
<form method="post" action="<?php echo site_url();?>/crud/delete">
<td><button type="submit" class="btn btn-danger">
<span class="glyphicon glyphicon-remove"></span>
<input type="hidden" value="<?php echo $data->id;?>" name="id">
</button>
</td>
</form>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</body>
</html>
Step 5 : Create View(create.php):
<!DOCTYPE html>
<html lang="en">
<head>
<title>Ci Crud Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
</head>
<body>
<h1 class="text-success" align="center">CI Crud Example</h1><br>
<a href="<?php echo site_url();?>/crud" class="btn btn-primary pull-right">Back</a> <br><br>
<h4 class="text-danger"><?php echo validation_errors(); ?></h4>
<div class="container">
<form class="form-horizontal" method="post" action="<?php echo site_url();?>/crud/store">
<div class="form-group">
<label class="control-label col-sm-2" for="email">Name:</label>
<div class="col-sm-10">
<input type="text" class="form-control" placeholder="Enter Name" name="name">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="email">Email:</label>
<div class="col-sm-10">
<input type="email" class="form-control" placeholder="Enter email" name="email">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="pwd">Mobno:</label>
<div class="col-sm-10">
<input type="number" class="form-control" placeholder="Enter Mobile No" name="mobno">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<input type="submit" class="btn btn-success" name="submit" value="Submit">
</div>
</div>
</form>
</div>
</body>
</html>
Step 5 : Create View(edit.php):
<!DOCTYPE html>
<html lang="en">
<head>
<title>Ci Crud Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
</head>
<body>
<h1 class="text-success" align="center">CI Crud Example</h1><br>
<a href="<?php echo site_url();?>/crud" class="btn btn-primary pull-right">Back</a> <br><br>
<h4 class="text-danger"><?php echo validation_errors(); ?></h4>
<div class="container">
<form class="form-horizontal" method="post" action="<?php echo site_url();?>/crud/update">
<div class="form-group">
<label class="control-label col-sm-2" for="email">Name:</label>
<div class="col-sm-10">
<input type="text" class="form-control" value="<?php echo $data->name;?>" name="name">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="email">Email:</label>
<div class="col-sm-10">
<input type="email" class="form-control" value="<?php echo $data->email;?>" name="email">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="pwd">Mobno:</label>
<div class="col-sm-10">
<input type="number" class="form-control" value="<?php echo $data->mobno;?>" name="mobno">
</div>
</div>
<input type="hidden" value="<?php echo $data->id;?>" name="id">
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<input type="submit" class="btn btn-success" name="submit" value="Submit">
</div>
</div>
</form>
</div>
</body>
</html>
