Aktualisieren Sie den Wert der Spaltentabelle in Codeigniter mit Array [Duplikat].
Aug 16 2020
Ich habe Funktion für Update-Tabelle wie unten
$update_data = array( 'total_pending'=>$amount,
'total_received'=>0,
'total_send'=>0,
'my_wallet'=>0,
'spen_in_app'=>0,
'check_in'=>0,
'upload_video'=>0,
'from_fans'=>0,
'purchased'=>0
);
Es funktioniert gut, aber ich möchte die Spalte total_pending mit total_pending + $ Betrag aktualisieren, aber es gibt einen Fehler wie
A non-numeric value encountered
Kann mir bitte jemand bei der Lösung des Problems helfen? Vielen Dank
Antworten
1 DilipPatel Aug 17 2020 at 05:55
Sie können dies verwenden, da total_pending der Spaltenname ist
$update_data = array( 'total_pending'=> `total_pending` + $amount,
'total_received'=>0,
'total_send'=>0,
'my_wallet'=>0,
'spen_in_app'=>0,
'check_in'=>0,
'upload_video'=>0,
'from_fans'=>0,
'purchased'=>0
);
Armnature Aug 17 2020 at 07:47
Ändern Sie einfach die BULK-Aktualisierungsmethode mit $ query-> set und fügen Sie diesen Code dort ein
$this->db->set('total_pending', "total_pending+$amount");
AnkitJindal Aug 17 2020 at 05:08
Versuchen Sie es mit einer der folgenden Methoden:
Wenn Sie Spalten einzeln festlegen möchten, können Sie einige if-Bedingungen für diese festlegen:
$this->db->set('total_received', 0); $this->db->set('my_wallet', 0);
$this->db->set('total_send', 0); $this->db->set('from_fans', 0);
$this->db->set('my_wallet', 0); $this->db->set('check_in', 0);
$this->db->set('purchased', 0); $this->db->set('upload_video', 0);
$this->db->set('spen_in_app', 0); $this->db->where(condition); //like ('id', $id) $this->db->set('total_pending', "total_pending+$amount"); $this->db->update('tablename');
Oder Sie können die folgende Methode ausprobieren, um alle Spalten in einem einzigen Array zu senden:
$update_data = array( 'total_pending'=> `total_pending` + $amount,
'total_received'=>0,
'total_send'=>0,
'my_wallet'=>0,
'spen_in_app'=>0,
'check_in'=>0,
'upload_video'=>0,
'from_fans'=>0,
'purchased'=>0
);