About Lesson
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"]); } } }