MySQL - JSON Formatındaki Veriyi Güncelleme - R10.net
  • 11-11-2019, 13:54:27
    #1
    Merhaba arkadaşlar, sorunuma çözüm bulabilirseniz çok sevinirim

    Finans ile ilgili bir proje yapmaya çalışıyorum. Bir yerde takıldım. İki farklı tablom var.

    kullanicilar tablosu :
    user_id | hesabindakidoviz | .. | .. |


    alimsatimemirleri tablosu:
    user_id | dovizcinsi | kacadet | islemonayi


    Bir kullanıcı alım-satım emri verebiliyor.

    Örnek vermek gerekirse A kullanıcısının hesabında 20 altın 45 dolar ve 100 euro bulunuyor.
    Bu kullanıcı 10 altın aldığında mevcut dolar sayısının 30,
    25 dolar aldığında mevcut dolar sayısının 70,
    100 euro aldığında mevcut euro sayısının 200 olarak JSON formatında yazdırmasını istiyorum.

    Anlaşılır olması için detaylı yazmaya çalıştım.

    kullanicilarTablosu:

    user_id - hesabindakidoviz
    1 - {"Altin": 20, "Dolar": 45, "Euro":100}

    alimsatimemirleri tablosu:

    user_id - dovizcinsi - kacadet - islemtipi - islemonayi

    1 - Altin - 10 - Alim - 1
    1 - Dolar - 25 - Alim - 1
    1 - Euro - 100 - Alim - 1


    alimsatimemirleri Tablosundaki hesabindakidoviz sütununda JSON formatında {"Altin": 20, "Dolar": 45, "Euro":100} yazıyorken alimsatimemirleri tablosundaki işlemler onay verildiğinde {"Altin": 30, "Dolar": 70","Euro":200} olarak güncellenmesini istiyorum. Aşağıdaki kodu çalıştırdığımda sadece Altın'ın değeri değişiyor, diğerleri sabit kalıyor. Dolar ve Euro değerlerininde değişmesi için ne yapmam gerekir?

  • 11-11-2019, 14:07:13
    #2
    Alshain adlı üyeden alıntı
    Merhaba arkadaşlar, sorunuma çözüm bulabilirseniz çok sevinirim

    Finans ile ilgili bir proje yapmaya çalışıyorum. Bir yerde takıldım. İki farklı tablom var.

    kullanicilar tablosu :
    user_id | hesabindakidoviz | .. | .. |


    alimsatimemirleri tablosu:
    user_id | dovizcinsi | kacadet | islemonayi


    Bir kullanıcı alım-satım emri verebiliyor.

    Örnek vermek gerekirse A kullanıcısının hesabında 20 altın 45 dolar ve 100 euro bulunuyor.
    Bu kullanıcı 10 altın aldığında mevcut dolar sayısının 30,
    25 dolar aldığında mevcut dolar sayısının 70,
    100 euro aldığında mevcut euro sayısının 200 olarak JSON formatında yazdırmasını istiyorum.

    Anlaşılır olması için detaylı yazmaya çalıştım.

    kullanicilarTablosu:

    user_id - hesabindakidoviz
    1 - {"Altin": 20, "Doviz": 45, "Euro":100}

    alimsatimemirleri tablosu:

    user_id - dovizcinsi - kacadet - islemtipi - islemonayi

    1 - Altin - 10 - Alim - 1
    1 - Dolar - 25 - Alim - 1
    1 - Euro - 100 - Alim - 1


    alimsatimemirleri Tablosundaki hesabindakidoviz sütununda JSON formatında {"Altin": 20, "Dolar": 45, "Euro":100} yazıyorken alimsatimemirleri tablosundaki işlemler onay verildiğinde {"Altin": 30, "Doviz": 70","Euro":200} olarak güncellenmesini istiyorum. Aşağıdaki kodu çalıştırdığımda sadece Altın'ın değeri değişiyor, diğerleri sabit kalıyor. Dolar ve Euro değerlerininde değişmesi için ne yapmam gerekir?

    //Burda gelen veriyi arraye cevirdin.
    $json_to_array = json_decode($data);
    
    //Datayi degisitiyorsun.
    $json_to_array['Altin'] = 30;
    $json_to_array['Doviz'] = 70;
    $json_to_array['Euro'] = 200;
    
    //Tekrar json a ceviriyorsun ve dbye udapte ediyorsun.
    $array_to_json = json_encode($json_to_array );
  • 11-11-2019, 14:09:21
    #3
    MesajAlcom adlı üyeden alıntı
    //Burda gelen veriyi arraye cevirdin.
    $json_to_array = json_decode($data);
    
    //Datayi degisitiyorsun.
    $json_to_array['Altin'] = 30;
    $json_to_array['Doviz'] = 70;
    $json_to_array['Euro'] = 200;
    
    //Tekrar json a ceviriyorsun ve dbye udapte ediyorsun.
    $array_to_json = json_encode($json_to_array );
    Hocam çok teşekkür ederim ama şuan işlemleri MySQL üzerinden yapmak istiyorum. Uygun bir trigger ile hiç php ile uğraşmadan halletmeye çalışıyorum.

    MySQL üzerinden UPDATE komutu ile yapabilirsek çok sevineceğim