web-dev-qa-db-de.com

CodeIgniter-Abfrage für eine einzige Aktualisierung, um eine Spalte mit den vorhandenen Spaltendaten zu aktualisieren?

In meiner Datenbank habe ich eine letzte und eine aktuelle Spalte für datetime. Nur um ein Auge zu behalten, wann jemand zuletzt einen gültigen Login für den Dienst verwendet hat, den ich aufbaue.

Was ich wissen möchte, ist, dass es möglich ist, eine Spalte in einer Zeile mit einer anderen Spalte aus dieser Zeile zu aktualisieren, während gleichzeitig die andere Spalte aktualisiert wird

Dh: Setzen Sie den Letzten als den aktuellen Strom, und setzen Sie dann den Strom mit dem Datum, das im Wesentlichen jetzt ist.

Sinn machen?

13
chris

Versuchen Sie es so ..

$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);

abfrage generiert durch obigen Code: -

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

43
Rajeev Ranjan

wenn Sie nur eine einzelne Spalte einer Tabellenzeile aktualisieren möchten, können Sie Folgendes verwenden:

$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
2
Mustafiz
$this->db->set('usage', 'usage');  //Set the column name and which value to set..

$this->db->where('tag', 'Java'); //set column_name and value in which row need to update

$this->db->update('tags'); //Set your table name

Versuche dies...

2
kulandai yesu
$data = array( 
    'name'      => $_POST['name'] , 
    'groupname' => $_POST['groupname'], 
    'age'       => $_POST['age']
);

$this->db->where('id', $_POST['id']);

$this->db->update('tbl_user', $data);
1
Praveen PL

Ich verwende diese Funktion für alle Updates auf meinen CI-Sites

function _updateRowWhere($table, $where = array(), $data = array()) {
    $this->db->where($where);
    $this->db->update($table, $data);
}
0
Kyslik
        $id= $this->input->Post('edit_id');
        $date= $this->input->Post('date');
        $title=$this->input->Post('title');
        $content=$this->input->Post('content'); 

 $value=array('date'=>$date,'content'=>$content,'title'=>$title);
 $this->db->where('course_id',$id);
 if( $this->db->update('course',$value))
      {
        return true;
      }
      else
      {
        return false;
      }
0

Alternative Kurzanleitung für das Schreiben von Aktualisierungsabfragen lautet wie folgt: 

$this->db->update('student',array('class'=>'xyz','name'=>'abc'),array('stud_id'=>20);

setze Klasse xyz, Name abc wobei Stud_id = 20 in der "Schüler" -Tabelle.

0
vishal patil

Versuchen Sie den folgenden Code:

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