2015-07-03 4 views
8

Ich habe Schwierigkeiten, MySQL-Abfrage auf PHP-Codeigniter setzen. Ich versuche zu suchen, aber ich habe noch nicht gefunden.MySql Skript-Update auf CodeIgniter

Dies ist der Code:

UPDATE `Pelayanan` SET `TGLBAYAR` = INSERT(`TGLBAYAR`, 3, 0, '/'), INSERT(`TGLBAYAR`, 6, 0, '/') 
UPDATE `Pelayanan` SET `TGLRUBAH` = INSERT(`TGLRUBAH`, 3, 0, '/'), INSERT(`TGLRUBAH`, 6, 0, '/') 
ALTER TABLE `Pelayanan` MODIFY COLUMN (`TGLBAYAR` DATE, `TGLRUBAH` DATE) 

UPDATE `Pelayanan` SET `LAMA` = DATEDIFF(`TGLBAYAR`, `TGLRUBAH`) 

Ich möchte diesen Code in Folge laufen, aber ich weiß nicht, ob CASE oder etwas zu verwenden. Wie ist der Code für controller.php und model.php?

+1

u kann ein bisschen mehr – mokNathal

Antwort

0

Was ist der

INSERT (TGLBAYAR, 3, 0, '/'), INSERT (TGLBAYAR, 6, 0, '/')

Können Sie es ändern sein Schnur? Wenn können, auf Ihrem Modell diese Funktion hinzufügen und es nennen von Controller

public function update_data(){ 
    $fields = array(
      'TGLBAYAR' => "INSERT(`TGLBAYAR`, 3, 0, '/'), INSERT(`TGLBAYAR`, 6, 0, '/')", 
      'TGLRUBAH' => "INSERT(`TGLRUBAH`, 3, 0, '/'), INSERT(`TGLRUBAH`, 6, 0, '/')" 
     ); 
    $this->db->update('Pelayanan', $fields, array()); 

    $fields = array(
      'TGLBAYAR' => array(
       'name' => 'TGLBAYAR', 
       'type' => 'DATE', 
     ), 
      'TGLRUBAH' => array(
       'name' => 'TGLRUBAH', 
       'type' => 'DATE', 
     ), 
    ); 
     $this->db->modify_column('Pelayanan', $fields); 

    $fields = array(
      'LAMA' => "DATEDIFF(`TGLBAYAR`, `TGLRUBAH`)" 
     ); 
    $this->db->update('Pelayanan', $fields, array()); 

} 
+0

TGLBAYAR ist bereits in String beschreiben ich diesen Code ausgeführt haben, aber immer noch Fehler: "Call to undefined Methode CI_DB_mysqli_driver :: modify_column()" – bumblebee

+0

@ user1213 Welche CI Version Sie verwenden Sie? Versuchen Sie, auf diese https://ellislab.com/codeigniter/user-guide/database/forge.html –

+0

Danke zu verweisen. Ich benutze Codeigniter 3.0.0. Ich denke, ich sollte Datenbank migrieren, um den Fehler zu beheben – bumblebee

0

der alten Tabellenabschnitt die followig sein sollte:

$this->load->dbforge(); 

$fields = array(
      'TGLBAYAR' => array(
       'name' => 'TGLBAYAR', 
       'type' => 'DATE', 
     ), 
      'TGLRUBAH' => array(
       'name' => 'TGLRUBAH', 
       'type' => 'DATE', 
     ), 
    ); 
$this->dbforge->modify_column('Pelayanan', $fields); 

Auch, wenn Sie einen Fehler haben Nachricht teilen Sie es bitte mit uns.