• 19-02-2021, 23:03:48
    #1
    Merhabalar, aşağıdaki kod ile bir sütundaki verilere göre diğer sütunları güncellemeye çalışıyorum fakat belirttiğim kısım sadece en son değer için çalışıyor. Yardımcı olabilecek var mı?
    <?php 
        $kayitbul=$db->prepare("SELECT * from kayit where kullanan_id=:id");
        $kayitbul->execute(array(
            'id'=> $kullanici_bilgi['uye_id']
        ));
    
        while($kayitbil=$kayitbul->fetch(PDO::FETCH_ASSOC)){ 
    
            
    
    
            if (kosul) {
    
    
    
                ?>
    
                <tr>
                    <td><?php echo $kayitbil['yazi']; ?></td>
                    <td><?php echo $kayitbil['[COLOR=#000000][FONT=Open Sans][SIZE=2]yazi[/SIZE][/FONT][/COLOR] ']; ?></td>
                    <td><?php echo $kayitbil['[COLOR=#000000][FONT=Open Sans][SIZE=2]yazi[/SIZE][/FONT][/COLOR] ']; ?></td>
                </tr>
    
            
    
        <?php }    
    
        else{
    
            if (koşul) {
    
                $cesit5=$kayitbil['[COLOR=#000000][FONT=Open Sans][SIZE=2]yazi[/SIZE][/FONT][/COLOR] '];
                $num=$kayitbil['[COLOR=#000000][FONT=Open Sans][SIZE=2]yazi[/SIZE][/FONT][/COLOR] '];
                
                $numara2=$db->prepare("UPDATE [COLOR=#000000][FONT=Open Sans][SIZE=2]yazi[/SIZE][/FONT][/COLOR] set
    
                    $cesit5=:servisi2
    
                    where numara_no=$num
                    ");
    
    
                $numara2->execute(array(
                    'servisi2'=> 0
    
    
                ));
    
    
    
                switch ($cesit5) {
                    case 'a':
                        $iade_tutari=1;
                        break;
                    
                    case 'b':
                        $iade_tutari=1.5;
                        break;
                }
    
    
    
                $yeni_bakiye=$kullanici_bilgi['uye_bakiye']+$iade_tutari;
                
    
                $kullanan_id2=$kullanici_bilgi['uye_id'];
                
          //////////////////// Bu kısım sadece en son değer için çalışıyor  
    
                $bakiyeekle=$db->prepare("UPDATE uyeler set
                    uye_bakiye=:uye_bakiye5
                    where uye_id=$kullanan_id2
                    ");
    
    
                $bakiyeekle->execute(array(
                    'uye_bakiye5'=>$yeni_bakiye
    ////////////////////////////////////////////////////////////////////////////////
                ));
    
            }
    
    
        }
    
    
    
    } ?>
  • 19-02-2021, 23:10:47
    #2
    Regnos.com
    hocam if koşul içlerini echo yerleştirip çalıştırın. Koşulların ne döndürdüğünü de basın. 68 ede bir echo koyun echo basıyormu ? Basıyorsa son çekişte where değerlerini karşılamıyordur.
    Böyle sağlama yapmayı deneyin
  • 19-02-2021, 23:17:16
    #3
    mehmetakcay adlı üyeden alıntı: mesajı görüntüle
    hocam if koşul içlerini echo yerleştirip çalıştırın. Koşulların ne döndürdüğünü de basın. 68 ede bir echo koyun echo basıyormu ? Basıyorsa son çekişte where değerlerini karşılamıyordur.
    Böyle sağlama yapmayı deneyin
    Hocam koşulların içerisine giriyor. En sondaki bakiye sadece son değer için güncelleniyor. Echo ile yazdırdığımda 3 defa dönüyorsa ilk ikisinde bakiyeyi güncellemiyor yani en sondaki Update işlemi yapmıyor fakat en son dönüşte güncelleme işlemini yapıyor.
  • 19-02-2021, 23:27:42
    #4
    Regnos.com
    charset adlı üyeden alıntı: mesajı görüntüle
    Hocam koşulların içerisine giriyor. En sondaki bakiye sadece son değer için güncelleniyor. Echo ile yazdırdığımda 3 defa dönüyorsa ilk ikisinde bakiyeyi güncellemiyor yani en sondaki Update işlemi yapmıyor fakat en son dönüşte güncelleme işlemini yapıyor.
    Ozaman
    where uye_id=$kullanan_id2

    bu koşul sadece son gelende gerçekleşiyordur. öncekiler de gerçekleşiyormu id basıyormu dogru felan onu kontrol ettiniz mi ?
  • 19-02-2021, 23:31:11
    #5
    mehmetakcay adlı üyeden alıntı: mesajı görüntüle
    Ozaman
    where uye_id=$kullanan_id2

    bu koşul sadece son gelende gerçekleşiyordur. öncekiler de gerçekleşiyormu id basıyormu dogru felan onu kontrol ettiniz mi ?
    Hocam üçünü(id bakiye iade tutarı) de basıyor.
    55.5 ilk bakiye
    1 eklenecek
    56.5 yeni bakiye
    6 id
    6 id
    55.5 bir sonraki döngüde bakiye (ilk başta güncellenmemiş)
    1.5 eklenecek
    57 yeni bakiye (Bu Güncelleme oluyor)
    6 id
    6 id
  • 19-02-2021, 23:40:56
    #6
    Regnos.com
    charset adlı üyeden alıntı: mesajı görüntüle
    Hocam koşulların içerisine giriyor. En sondaki bakiye sadece son değer için güncelleniyor. Echo ile yazdırdığımda 3 defa dönüyorsa ilk ikisinde bakiyeyi güncellemiyor yani en sondaki Update işlemi yapmıyor fakat en son dönüşte güncelleme işlemini yapıyor.
    charset adlı üyeden alıntı: mesajı görüntüle
    Hocam üçünü(id bakiye iade tutarı) de basıyor.
    55.5 ilk bakiye
    1 eklenecek
    56.5 yeni bakiye
    6 id
    6 id
    55.5 bir sonraki döngüde bakiye (ilk başta güncellenmemiş)
    1.5 eklenecek
    57 yeni bakiye (Bu Güncelleme oluyor)
    6 id
    6 id
    hepsini basıyor ama veritabanında karşılığı varmı doğru şekilde oradan da emin olun. Php hataları açıkmı ? Hata döndürüyor mu o kısımda?
    Yani gerisini bilemedim test etmek lazım Allah kolaylık versin bazen gözümüzün önündeki ufacık şeyi göremiyoruz