CodeIgniter query: How to move a column value to another column in the same row and save the current time in the original column? CodeIgniter query: How to move a column value to another column in the same row and save the current time in the original column? codeigniter codeigniter

CodeIgniter query: How to move a column value to another column in the same row and save the current time in the original column?


Try like this:

$data = array('current_login' => date('Y-m-d H:i:s'));$this->db->set('last_login', 'current_login', false);$this->db->where('id', 'some_id');$this->db->update('login_table', $data);

Pay particular attention to the set() call's 3rd parameter. false prevents CodeIgniter from quoting the 2nd parameter -- this allows the value to be treated as a table column and not a string value. For any data that doesn't need to special treatment, you can lump all of those declarations into the $data array.

The query generated by above code:

UPDATE `login_table`SET last_login = current_login, `current_login` = '2018-01-18 15:24:13'WHERE `id` = 'some_id'


$data = array(     'name'      => $_POST['name'] ,     'groupname' => $_POST['groupname'],     'age'       => $_POST['age']);$this->db->where('id', $_POST['id']);$this->db->update('tbl_user', $data);


if you want to upgrade only a single column of a table row then you can use as following:

$this->db->set('column_header', $value); //value that used to update column  $this->db->where('column_id', $column_id_value); //which row want to upgrade  $this->db->update('table_name');  //table name