Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja

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