Course Content
Introduction to CodeIgniter
CodeIgniter is a powerful PHP framework built for developers who need a simple and elegant toolkit to create full-featured web applications.
0/3
MVC (Model-View-Controller)
MVC stands for Model-View-Controller. MVC is an application design model consisting of three interconnected parts. They include the model (data), the view (user interface), and the controller (processes that handle input).
0/6
Sessions
The Session class allows you to maintain a user’s "state" and track their activity while they browse your site.
0/1
URI Routing
There is a one-to-one relationship between a URL string and its corresponding controller class/method. The segments in a URI normally follow this pattern:
0/1
Forms and Input
Forms provide a way for users to interact with the application and submit data.
0/1
Composer
Composer is dependency manager in PHP. it allows you to declare the libraries your project depends on and it will manage (install/update) them for you.
0/1
Security
You can enable CSRF protection by modifying your application/config/config.php file
0/1
Working with Database
Like any other framework, we need to interact with the database very often and CodeIgniter makes this job easy for us. It provides a rich set of functionalities to interact with the database.
0/5
DataTable
DataTables is a table enhancing plug-in for the jQuery Javascript library that helps in adding sorting, paging, and filtering abilities to plain HTML tables with minimal effort. The main goal is to enhance the accessibility of data in normal HTML tables.
0/1
Spreadsheet
PhpSpreadsheet is a PHP library for reading and writing spreadsheet files. Importing Excel and CSV into MySQL help to save the user time and avoid repetitive work.
0/1
Payment Gateway
Razorpay and PayTM Payment Gateway
0/2
Chatbot
WhatsApp Chatbot and Telegram Chatbot
0/2
CodeIgniter 3
    About Lesson

    In CodeIgniter 3, the update() method is used to modify existing records in the database. The UPDATE SQL command is used to change the data in one or more columns of a table.

    Basic Syntax for MySQL Update Query

    UPDATE table_name 
    SET column1 = value1, column2 = value2, ...
    WHERE some_column = some_value;

     

    Note: The WHERE clause specifies which records should be updated. If you omit the WHERE clause, all records in the table will be updated!

     

    Step-by-Step Implementation

    To demonstrate how to update records, we’ll create a simple application with the following structure:

    File Structure

    application/

    ├── controllers/
    │ └── User.php

    ├── models/
    │ └── User_model.php

    └── views/
    ├── list.php
    └── edit.php

     

    Step 1: Create list.php in application/views/

    The list.php file will display the list of users and provide an option to update each user’s information.

    File: application/views/list.php

     

    <table width="600" 
    	border="1" cellspacing="5" cellpadding="5">
    	<tr style="background:#CCC">
    		<th>Sr No</th>
    		<th>First_name</th>
    		<th>Last_name</th>
    		<th>Email Id</th>
    		<th>Update</th>
    	</tr>
    	<?php $i=1; foreach($result as $row) { 
    		echo "<tr>"; 
    		echo "<td>".$i. "</td>"; 
    		echo "<td>".$row->first_name."</td>";
    		echo "<td>".$row->last_name."</td>"; 
    		echo "<td>".$row->email."</td>"; 
    		echo "</tr>"; $i++; } ?>
    		echo "<td><a 
    		href="<?php echo base_url(‘user/edit’.$row->id); 
    		?>">Edit</a>
    		</td>";
    </table>

     

    Explanation

    • The table displays a list of users with their details.
    • The “Update” column contains links to edit each user’s information by passing their id to the edit method in the controller.

     

    Step 2: Create edit.php in application/views/

    The edit.php file provides a form to update user details.

    File: application/views/edit.php

     

    <html>
    <head>
    <title>Update user details</title>
    </head>
     
    <body>
     <?php
      if($result) {
      ?>
    	<form method="post" 
    	action=”<?php echo base_url(‘user/update’); ?>”>
    		<table width="600" border="1" 
    		cellspacing="5" cellpadding="5">
      <tr>
        <td width="230">Enter Your Name </td>
        <td width="329">
    	<input type="hidden" name="txtId" 
    	value="<?php echo $result->id; ?>"/>
    <input type="text" name="txtFirstName" 
    value="<?php echo $result->first_name; ?>"/></td>
      </tr>
      <tr>
        <td>Enter Your Email </td>
        <td><input type="text" name="txtLastName" 
        value="<?php echo $result->last_name; ?>"/></td>
      </tr>
      <tr>
        <td>Enter Your Mobile </td>
        <td><input type="text" name="txtEmail" 
        value="<?php echo $result->email; ?>"/></td>
      </tr>
      <tr>
        <td colspan="2" align="center">
    	<input type="submit" name="update" 
    	value="Update"/></td>
      </tr>
    </table>
    	</form>
    	<?php } ?>
    </body>
    </html>

     

    Explanation

    • The form displays the user’s current details fetched from the database.
    • Upon submission, the form data is sent to the update method in the User controller.

     

     

    Step 3: Create User_model.php in application/models/

    The User_model handles all database operations, including fetching and updating user records.

    File: application/models/User_model.php

     

    class User_model extends CI_Model  {
    	/*Select multiple records*/
    	function list() {
    		$this->db->select([“*”]);
    		$this->db->from(‘user_info’);
    		$query = $this->db->get();
    		return $query->result();
    	}
    	
    	/*Select single record*/
    	function get_user($id) {
    		$this->db->select([“*”]);
    		$this->db->from(‘user_info’);
    		$this->db->where([“id” => $id]);
    		$query = $this->db->get();
    		return $query->row();
    	}
    	
    	/*Update single record*/
    	public function update($id, $data) {
    		$where = [“id” => $id];
    		return $this->db->update(‘user_info’, $where, $data);
    	}
    	
    }

     

    Explanation

    • list(): Fetches all users from the user_info table.
    • get_user($id): Fetches a specific user’s details using their ID.
    • update($id, $data): Updates a user’s record based on the ID and data passed.

     

    Step 4: Create User.php in application/controllers/

    The User controller handles the request and response flow, including loading views and interacting with the model.

    File: application/controllers/User.php

     

    class User extends CI_Controller {
    
    	public function __construct() {
    		/*call CodeIgniter's default Constructor*/
    		parent::__construct();
    
    		/*load model*/
    		$this->load->model('User_model');
    	}
    	
    	public function list() {
    		$data[‘result’]	= $this->user_model->list();
    		$this->load->view(‘list’, $data);
    	}
    
    	public function edit($id) {
    		$data[‘result’]	= $this->user_model->get_user($id);
    		$this->load->view(‘list’, $data);
    	}
    
    	public function update() {
    		$id		= $this->input->post(‘txtId’);
    		$first_name	= $this->input->post(‘txtLastName’);
    		$last_name	= $this->input->post(‘txtLastName’);
    		$email		= $this->input->post(‘txtEmail’);
    		
    		$data = [
    			‘first_name’		=> $first_name,
    			‘last_name’		=> $last_name,
    			‘email’			=> $email,
    		];
    
    		$result = $this->user_model->update($id, $data);
    		if($result) {
    			echo “User details are updated successfully.”;
    		} else {
    			echo “Something went wrong”;
    		}
    	}
    }

     

    Explanation

    • Constructor: Loads the User_model to interact with the database.
    • list(): Loads the list.php view with all users fetched from the database.
    • edit($id): Loads the edit.php view with a specific user’s details to update.
    • update(): Handles form data submission and calls the update() method in the User_model to update the record.

     

    Summary

    • Views: Created list.php for displaying users and edit.php for updating user information.
    • Model: Created User_model.php for fetching and updating data in the user_info table.
    • Controller: Created User.php to handle requests, load views, and process updates.