Postingan lainnya
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
2 Jawaban:
pas insert change by ya gak usah di bawa, insertnya pake where id, atau update juga bisa
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.