The UPDATE statement is used to update data in the MySQL table
UPDATE table_name SET column1=value, column2=value2,... WHERE some_column=some_value
Note: The WHERE clause specifies which data should be updated. If you omit the WHERE clause, all records will be updated!
1. Create a list.php file in applications/views/ directory
<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>2. Create an edit.php file in applications/views/ directory
<html>
<head>
<title>Update user details</title>
</head>
<body>
<?php
if($result) {
?>
<form method="post" id="update-user-form"
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 } ?>
<!-- Script -->
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
$("#update-user-form").submit(function(e) {
var data = $("#update-user-form").serialize();
var url = "<?php echo base_url('user/update_user'); ?>";
// Syntax
// $(selector).post(URL,data,function(data,status,xhr),dataType);
$.post(
url,
data,
function(result) {
alert(result.message);
},
'json');
});
});
</script>
</body>
</html>3. Create a model file User_model.php in the applications/models/ directory.
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);
}
}4. Create a controller file User.php in the applications/controllers/ directory.
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_user() {
$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 json_encode(["message" => "User details are updated successfully."]);
} else {
echo json_encode(["message" => "Something went wrong"]);
}
}
}