Bagaimana cara membuat history input data insert dan update di CI

Halo temen2 SK, saya mau tanya bagaimana ya cara membuat History input data di CI seperti create_by, create_date, change_by, change_date. saya sudah buat di viewnya sperti ini : "> ">

jadi valuenya itu otomatis terisi apabila dia tambah data / edit data di CI, tapi ketika di save, semuanya terisi di databasaenya, yang saya ingin tanyakan bagaimana yah caranya apabila dia tambah data create_by dan create_date nya terisi tetapi untuk change_by dan change_date tidak terisi begitu pun sebaliknya.

Atau temen2 disini punya cara lain ??

terimakasih

avatar ridwan14
@ridwan14

36 Kontribusi 10 Poin

Diperbarui 8 tahun yang lalu

2 Jawaban:

pas insert change by ya gak usah di bawa, insertnya pake where id, atau update juga bisa

avatar frans
@frans

153 Kontribusi 46 Poin

Dipost 8 tahun yang lalu

Daripada dari sisi client yang ngasih datanya, lebih baik dari sisi server yang input datanya,

contoh, misal ada model user


class UserModel {

  public function __construct ($database, $session) {
    $this->database = $database;
    $this->session = $session;
    $this->login= $this->session->userdata;
  }

  public function create ($fullname = '', $username = '', $email ='', $password = '') { // method create user

     $toInsert = array(
        'fullname' => $fullname,
        'username' => $username,
        'email' => $email,
        'password' => md5($password)
     );

     // dibawah kita tambah kan lagi data yang dibutuhkan, akan digenerate server
     $toInsert['datecreated'] = date('Y-m-d H:i:s'); // catat waktu dibuat
     $toInsert['createdby'] = $this->user->username; // catat nama pembuat

     $flag = $this->database->insert('tbl_user', $toInsert); // insert data user

     if(!$flag): // cek jika data gagal di insert
       return false;
     endif

     return $flag;

  }

  public function update ($id = '', $fullname = '', $username = '', $email ='') { // method update user

    $toUpdate = array(
        'fullname' => $fullname,
        'username' => $username,
        'email' => $email
     );

     // dibawah kita tambah kan lagi data yang dibutuhkan, akan digenerate server
     $toUpdate['dateupdated'] = date('Y-m-d H:i:s'); // catat waktu di update
     $toUpdate['updatedby'] = $this->user->username; // catat nama yang update

     $flag = $this->database->where('id', $id)->update('tbl_user', $toUpdate); // coba update data

     if(!$flag): // cek jika data gagal update
       return false;
     endif

     return $flag;

  }

}

keuntungan nya, selain transaksi data client nya lebih ramping juga maintain nya lebih mudah nantinya.

avatar ma4m
@ma4m

97 Kontribusi 39 Poin

Dipost 8 tahun yang lalu

Login untuk ikut Jawaban