2015-07-03 15 views
8

Tôi gặp khó khăn khi đặt truy vấn MySQL vào php Codeigniter. Tôi cố gắng tìm kiếm nhưng tôi vẫn chưa tìm thấy.Cập nhật MySql Script trên CodeIgniter

này là mã:

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`) 

Tôi muốn chạy mã này trong chuỗi nhưng tôi không biết liệu có nên sử dụng TRƯỜNG HỢP hoặc một cái gì đó. Mã cho controller.php và model.php như thế nào?

+1

u có thể mô tả một chút nữa – mokNathal

Trả lời

0

các

INSERT là gì (TGLBAYAR, 3, 0, '/'), INSERT (TGLBAYAR, 6, 0, '/')

Bạn có thể thay đổi nó được chuỗi? Nếu có thể, trên Model của bạn thêm chức năng nàygọi nó từ khiển

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 đã nằm trong chuỗi tôi đã chạy mã này, nhưng vẫn báo lỗi: "Call to undefined phương pháp CI_DB_mysqli_driver :: modify_column()" – bumblebee

+0

@ user1213 phiên bản CI gì làm bạn sử dụng? hãy thử tham khảo https://ellislab.com/codeigniter/user-guide/database/forge.html –

+0

Cảm ơn bạn. Tôi sử dụng Codeigniter 3.0.0. Tôi nghĩ rằng tôi nên di chuyển cơ sở dữ liệu để sửa lỗi – bumblebee

0

phần thay đổi bảng nên là followig:

$this->load->dbforge(); 

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

Ngoài ra, nếu bạn có bất kỳ lỗi tin nhắn xin vui lòng chia sẻ nó với chúng tôi.