• 02-04-2020, 16:13:59
    #1
    merhaba arkadaşlar. iki adet tabom var.

    kasa > ANA KASA > KASA BAKİYE
    alacak > CARİ ADI > alacak bakiye


    cari adıyla bakiye artırıyorum. kasaya + olarak işliyor. kasaya >1.500 tl ekledi
    düzenleme kısmında 1.500 yanlış yazdım 1.000 olarak değiştim. kasada 2.500 oldu.

    ama kasa bakiyesi 500 kalacaktı. bu işlemde önceki bakiye kısmını nasıl tutarım ?

    if ($tipi == "alacak") {
    
    ////////////////////////////////////////////////////////////////////////////////////////////////////
    
    $kasa_g = $db->prepare('UPDATE cari_kasa SET kasa_bakiye = kasa_bakiye + :amount WHERE kasa_adi = :adi');
    $kasa_giris = $kasa_g->execute([
    'amount' => $bakiye,
    'adi' => $kasa_adi
    ]);
    
    
    }
  • 02-04-2020, 16:28:17
    #2
    Böyle bir durumda ilk akla gelen güncellemeleri loglamak kasa hareketlerini ayrı tablo oluşturup orada tutmak gerektiğinde hangi işlemleri kim ne zaman yapmış gibi bilgilerlere geri dönüş mümkün olur.
  • 02-04-2020, 17:03:06
    #3
    Farkı bir sutunda bakiyenin son halini veya son eklenen tutarı da kaydedip, değişiklik olduğunda tekrar hesaplatmalısınız.
  • 02-04-2020, 17:07:48
    #4
    @aCadir; peki bu iki sayıyı bulduğumu farz edin.
    1500 önceki bakiye güncellleme 500 eksilttim .
    1000 kalmasını nasıl sağlarız.
    iki sayı arasındaki farkı çıkarma işleminden bahsetmiyorum.
  • 02-04-2020, 17:12:30
    #5
    Öncelikle, soruyu tam anlayamıyorum.

    Ama, eğer bir düzeltme işlemi olacak ise son eklenen tutar bir yere yazılmalı ki, yeni tutar ile karşılaştırılıp ve tekrar hesaplanıp, yeniden kaydedilmeli.
  • 02-04-2020, 17:39:18
    #6
    aCadir adlı üyeden alıntı: mesajı görüntüle
    Öncelikle, soruyu tam anlayamıyorum.

    Ama, eğer bir düzeltme işlemi olacak ise son eklenen tutar bir yere yazılmalı ki, yeni tutar ile karşılaştırılıp ve tekrar hesaplanıp, yeniden kaydedilmeli.
    teşekkür ederim.



    sorunum devam ediyor ?
  • 03-04-2020, 15:43:12
    #7
    omrumdely adlı üyeden alıntı: mesajı görüntüle
    merhaba arkadaşlar. iki adet tabom var.

    kasa > ANA KASA > KASA BAKİYE
    alacak > CARİ ADI > alacak bakiye


    cari adıyla bakiye artırıyorum. kasaya + olarak işliyor. kasaya >1.500 tl ekledi
    düzenleme kısmında 1.500 yanlış yazdım 1.000 olarak değiştim. kasada 2.500 oldu.

    ama kasa bakiyesi 500 kalacaktı. bu işlemde önceki bakiye kısmını nasıl tutarım ?

    if ($tipi == "alacak") {
    
    ////////////////////////////////////////////////////////////////////////////////////////////////////
    
    $kasa_g = $db->prepare('UPDATE cari_kasa SET kasa_bakiye = kasa_bakiye + :amount WHERE kasa_adi = :adi');
    $kasa_giris = $kasa_g->execute([
    'amount' => $bakiye,
    'adi' => $kasa_adi
    ]);
    
    
    }
    Merhaba;

    Bu işlem için tüm para hareketlerinizi tutacağınız bir tablo yapmanızı tavsiye ederim tüm girdi çıktıları bunun üzerinden yaparsanız bahsetmiş olduğunuz gibi bir durum oluşmaz. Para hareketlerinin bulunduğu tablodaki ilgili kaydı güncelleyerek hem kasa bakiyenizi hemde cari bakiyenizi güncelleye bilirsiniz.

    İşleminizin şuan ki hali için şöyle bir şey önere bilirim;
    Kayıt güncellenmeden önceki halini kasadan düşüp güncellendikten sonraki halini tekrar kasaya ekleyebilirisniz.
    İşlemi yaparken kaydın ilk halini ki bu durumda 1500 tl yide tutup değişiklik yapıldıktan sonra güncelleme işlemi öncesinde kasa bakiyesi-=1500 yapıp sonrasında kasa bakiyesi+1000 yapabilirsiniz.
    İki rakam arasındaki fark alınarakta işlem yapılabilir ancak bu sefer de rakam düşmüş mü yükselmiş mi bunun kontrolünü yapmanız gerekir.
    Bu durumda en mantıklısı ayrı bir tablo yaparak tüm giriş çıkış para hareketlerini tek tabloda tutmaktadır. İlgili alanlar için de bakiyeyi tabloda birleştirme yaparak çekebilirsiniz.
  • 03-04-2020, 18:00:49
    #8
    whatsapp dan ulaşırsanız yardım ede bilirim
  • 03-04-2020, 20:51:59
    #9
    hocam ben böyle bir değişken kullanıyorum "+" ile hediyepara olarak eklediğim rakam tutar sorgusunun üzerine ekleniyor eksiltme olarakda "+" yerine "-" yapabilirsiniz.
    işinize yarar umarım
    $hediye = $row['tutar'] + $hediyepara;