- Best Ethical Hacking Tools in 2027: Free & Paid Picks
- Software supply chain attacks 2026: Timeline and developer checklist
- Binance Hack: $6.3 Billion Drained in the Largest Crypto Theft Ever. What We Know So Far
- This Site Uses XSLT Chrome Warning Explained: How to Fix It
- iPad mini OLED Price in India: Wi-Fi & Cellular Variants, Offers
- iMac M6 Price in India: All Variants, Colors, Offers and Release Date
- MacBook Pro M6 Price in India
- Apple Pro and Tell Event: Touchscreen MacBook Pro, M6 MacBook Pro, Price in India
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 $key => $row) { echo "<tr>"; echo "<td>".++$key."</td>"; echo "<td>".$row->first_name."</td>"; echo "<td>".$row->last_name."</td>"; echo "<td>".$row->email."</td>"; echo "<td><a href="<?php echo base_url('user/edit/'.$row->id);?>">Edit</a></td>";
echo "</tr>";
$i++;
} ?> </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
idto theeditmethod 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
updatemethod in theUsercontroller.
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 theuser_infotable.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_modelto interact with the database. - list(): Loads the
list.phpview with all users fetched from the database. - edit($id): Loads the
edit.phpview with a specific user’s details to update. - update(): Handles form data submission and calls the
update()method in theUser_modelto update the record.
Summary
- Views: Created
list.phpfor displaying users andedit.phpfor updating user information. - Model: Created
User_model.phpfor fetching and updating data in theuser_infotable. - Controller: Created
User.phpto handle requests, load views, and process updates.
