CRUD with Codeigniter 3 in PHP
<?php
defined("BASEPATH") or exit("No direct script access allowed");
class User extends CI_Controller
{
public function __construct()
{
parent::__construct();
}
public function index()
{
$this->load->model("User_model");
$data["users"] = $this->User_model->allRecords();
$this->load->view("list", $data);
}
public function create()
{
$this->load->model("User_model");
$this->form_validation->set_rules("name", "Name", "required");
$this->form_validation->set_rules("email", "Email", "required|valid_email");
if ($this->form_validation->run() == false) {
$this->load->view("create");
} else {
//Save record to database
$formArray = array();
$formArray["name"] = $this->input->post("name");
$formArray["email"] = $this->input->post("email");
$formArray["created_at"] = date("Y-m-d");
$this->User_model->create($formArray);
$this->session->set_flashdata("success", "Record added successfully");
redirect(base_url() . "User/index");
}
}
public function edit($userId)
{
$this->load->model("User_model");
$data["user"] = $this->User_model->getUser($userId);
$this->form_validation->set_rules("name", "Name", "required");
$this->form_validation->set_rules("email", "Email", "required|valid_email");
if ($this->form_validation->run() == false) {
$this->load->view("edit", $data);
} else {
//UPDATE user record
$formArray = array();
$formArray["name"] = $this->input->post("name");
$formArray["email"] = $this->input->post("email");
$this->User_model->updateUser($userId, $formArray);
$this->session->set_flashdata("success", "Record Updated Successfully");
redirect(base_url() . "User/index");
}
}
public function delete($userId)
{
$this->load->model("User_model");
$this->User_model->getUser($userId);
if (empty(userId)) {
$this->session->set_flashdata("failure", "Record Not found in database");
redirect(base_url() . "User/index");
}
$this->User_model->deleteUser($userId);
$this->session->set_flashdata("success", "Record deleted Successfully");
redirect(base_url() . "User/index");
}
}
MODEL CLASS FILE
<?php
defined("BASEPATH") or exit("No direct script access allowed");
class User_model extends CI_Model
{
public function create($formArray)
{
$this->db->insert("users", $formArray); //INSERT INTO users(name,email) VALUES(?,?);
}
public function allRecords()
{
return $this->db->get("users")->result_array(); //SELECT * FROM users;
}
public function getUser($userId)
{
$this->db->where("user_id", $userId);
return $this->db->get("users")->row_array(); //SELECT * FROM users WHERE user_id = ?
}
//UPDATE the record from Database
public function updateUser($userId, $formArray)
{
$this->db->where("user_id", $userId);
$this->db->update("users", $formArray); //UPDATE users SET name = ?, email = ? WHERE user_id = ?
}
//DELETE the record from Database
public function deleteUser($userId)
{
$this->db->where("user_id", $userId);
$this->db->delete("users"); //DELETE FROM users WHERE user_id = ?
}
}
CREATE USER FILE
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="<?php echo base_url() . "assets/css/bootstrap.min"; ?>">
<title>Crud Application - Create User</title>
<body>
<div class="navbar navbar-dark bg-dark">
<div class="container">
<a href="#" class="navbar-brand">CRUD APPLICATION</a>
</div>
</div>
<div class="container" style="padding-top: 10px;">
<h3>Create User</h3>
<hr>
<form name="createUser" action="<?php echo base_url() . "User/create"; ?>" method="post">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label>Name</label>
<input type="text" name="name" value="<?php echo set_value("name"); ?>" class="form-control">
<?php echo form_error("name"); ?>
</div>
<div class="form-group">
<label>Email</label>
<input type="text" name="email" value="<?php echo set_value("email"); ?>" class="form-control">
<?php echo form_error("email"); ?>
</div>
<div class="form-group" style="padding-top: 20px;">
<button class="btn btn-primary">Create</button>
<a href="<?php echo base_url() . "User/index"; ?>" class="btn-secondary btn">Cancel</a>
</div>
</div>
</div>
</form>
</div>
</body>
</html>
UPDATE USER FILE
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="<?php echo base_url() . "assets/css/bootstrap.min"; ?>">
<title>Crud Application - Update User</title>
<body>
<div class="navbar navbar-dark bg-dark">
<div class="container">
<a href="#" class="navbar-brand">CRUD APPLICATION</a>
</div>
</div>
<div class="container" style="padding-top: 10px;">
<h3>Update User</h3>
<hr>
<form method="post" name="createUser" action="<?php echo base_url() . "User/edit/" . $user["user_id"]; ?>">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label>Name</label>
<input type="text" name="name" value="<?php echo set_value("name", $user["name"]); ?>" class="form-control">
<?php echo form_error("name");
?>
</div>
<div class="form-group">
<label>Email</label>
<input type="text" name="email" value="<?php echo set_value("email", $user["email"]); ?>" class="form-control">
<?php echo form_error("email");
?>
</div>
<div class="form-group" style="padding-top: 20px;">
<button class="btn btn-primary">Update</button>
<a href="<?php echo base_url() . "User/index"; ?>" class="btn-secondary btn">Cancel</a>
</div>
</div>
</div>
</form>
</div>
</body>
</html>
VIEW USER FILE
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="<?php echo base_url() . "assets/css/bootstrap.min"; ?>">
<title>Crud Application - View Users</title>
<body>
<div class="navbar navbar-dark bg-dark">
<div class="container">
<a href="#" class="navbar-brand">CRUD APPLICATION</a>
</div>
</div>
<div class="container" style="padding-top: 10px;">
<div class="row">
<div class="col-md-12">
<?php
$success = $this->session->userdata("success");
if ($success != "") {
?>
<div class="alert alert-success"><?php echo $success; ?></div>
<?php
}
?>
<?php
$failure = $this->session->userdata("failure");
if ($failure != "") {
?>
<div class="alert alert-failure"><?php echo $failure; ?></div>
<?php
}
?>
</div>
</div>
<div class="row">
<div class="col-md-18">
<div class="row">
<div class="col-6">
<h3>View Users</h3>
</div>
<div class="col-6 text-right">
<a href="<?php echo base_url() . "User/create"; ?>" class="btn btn-primary">Create</a>
</div>
</div>
<hr>
</div>
</div>
<div class="row">
<div class="col-md-8">
<table class="table table-striped">
<tr>
<th>ID</th>
<th>Name</th>
<th>Email</th>
<th width="60">Edit</th>
<th width="100">Delete</th>
</tr>
<?php if (!empty($users)) {
foreach ($users as $userdata) { ?>
<tr>
<td><?php echo $userdata["user_id"]; ?></td>
<td><?php echo $userdata["name"]; ?></td>
<td><?php echo $userdata["email"]; ?></td>
<td>
<a href="<?php echo base_url() . "User/edit/" . $userdata["user_id"]; ?>" class="btn btn-primary">Edit</a>
</td>
<td>
<a href="<?php echo base_url() . "User/delete/" . $userdata["user_id"]; ?>" class="btn btn-danger">Delete</a>
</td>
</tr>
<?php }
} else { ?>
<tr>
<td colspan="5">Records not found</td>
</tr>
<?php } ?>
</table>
</div>
</div>
</div>
</body>
</html>





Comments
Post a Comment