Updating records codeigniter
codeigniter, database, php, sql-update
Solution
In your Controller
public function updtitle()
{
$data = array(
'table_name' => 'your_table_name_to_update', // pass the real table name
'id' => $this->input->post('id'),
'title' => $this->input->post('title')
);
$this->load->model('Updmodel'); // load the model first
if($this->Updmodel->upddata($data)) // call the method from the model
{
// update successful
}
else
{
// update not successful
}
}
In Your Model
public function upddata($data) {
extract($data);
$this->db->where('emp_no', $id);
$this->db->update($table_name, array('title' => $title));
return true;
}
The active record query is similar to
"update $table_name set title='$title' where emp_no=$id"
Problem
I am trying to update a table where id of the row is entered and title is selected through a dropdown list, but I have two problems. Firstly Im not sure how to pass the data to the model, and the second problem is actually updating the table using active record. controller class ``` class Update extends CI_Controller { public function __construct() { parent::__construct(); //$this->load->model('addmodel'); //$this->load->helper('form'); } public function index() { $this->load->view('updview'); } public function updtitle() { $data = array( 'id' => $this->input->post('id'), 'title' => $this->input->post('title') ); //$data1['data'] = $data; $data1['data'] = $this->updmodel->upddata($data); $this->load->view('updview', $data1); } } ?> ``` model class ``` class Updmodel extends CI_Model { // model constructor function function __construct() { parent::__construct(); // call parent constructor $this->load->database(); } public function upddata($data) { $this->db->where('emp_no', $data['id']); $this->db->update('title', $data['title']); return; } } ?> ``` view Update employee title ``` <form action="http://localhost/ecwm604/index.php/update/updtitle" method="POST"> employee id: <input type=text name="id"><br /> change title to: <select name="title"> <option value="Assistant Engineer">Assistant Engineer</option> <option value="Engineer">Engineer</option> <option value="Senior Engineer">Senior Engineer</option> <option value="Senior Staff">Senior Staff</option> <option value="Staff">Staff</option> </select><br /> <input type="submit" value="submit"/> <br /> <?php print_r($data); //echo $data['title']; ?> </body> </html> ```