php log tutma
Merhaba sipariş düzenle ekranında yaptığım değişikleri nası kayıt ettirebilirim örnek olarak siparişteki ad ve soyadı değiştirdiğimde değişen veri => yeni veri
olarak kayıt etmek istiyorum
Öncelikle bir tablo oluştur veritabanında. İsmi (örnek olarak söylüyorum) product_updates olsun. Bu tabloda açacağın sütünlar şöyle olsun
product_update_id => primary_key
product_id => int(11)
product_update_order => int(11)
product_info => json
product_update_date => timestamp formatında varsayılan olarak current_timestamp
product_update_id otomatik artacak klasik zaten
product_id ürünün id sini tutacak
product_update_order ürünün kaçıncı değişimi olduğunu tutacak misal ürünü ilk defa güncellediysen 1, 8. kez güncellediysen 8 yazacak
product_info ürünün güncellenmeden önceki tüm bilgilerini json olarak tutacak.
product_update_date güncellenme tarihini tutacak
<?php
function update($productId, $productInfo){
global $db;
$product = $db->from('products')->where('product_id', $productId)->first();
if(!$product){
return 'Böyle bir ürün yok.';
} else if(!$productInfo){
return 'Ürün bilgileri giriniz.';
} else {
$productLastUpdateOrder = $db->from('product_updates')->where('product_id', $productId)->orderby('product_update_order', 'desc')->first();
if($db->insert('product_updates')->set([
'product_id' => $productId,
'product_update_order' => ($productLastUpdateOrder['product_update_order'] + 1),
'product_info' => $productInfo
])){
return 'İşlem başarıyla gerçekleşti.';
} else {
return 'İşlem gerçekleştirilemedi.';
}
}
}
?>
Kısaca bu şekilde olabilir