v2.5.2
Giriş yap

Mysql'da tablodaki verileri gruplara ayırarak toplama

erdem
7,041 defa görüntülendi

Merhaba mysql da bir tablo oluşturdum tablo adı "musteri" tablodaki ödeme listesi "musteri_tutar" bir de ödedi,ödemedi olarak belirlediğim "musteri_durum" var
ben toplamı hesaplamak istiyorum fakat ödenen toplam ve ödenmeyen toplam olarak ayrı ayrı yazmak istiyorum.

<?php
  
  $Fiyat=$db->prepare("SELECT SUM(musteri_tutar) AS sayi FROM musteri");
   $Fiyat->execute();
  $FiyatYaz= $Fiyat->fetch(PDO::FETCH_ASSOC);
  echo "Toplam Para: ".$FiyatYaz['sayi']." TL";

  ?>

 ?>

yukarıdaki verdiğim kodu yazdığımda hepsinin toplamına ulaşıyorum ama yapmak istediğim ödenen ve ödenmeyenleri birbirinden ayırmak.

<?php
  
  bla bla bla 
  
  if (bla bla) {
    echo echo "Ödenen Toplam Para:  ".$FiyatYaz['sayi']." TL";
     }else {
         echo "Ödenmeyen Toplam Para: ".$FiyatYaz['sayi']." TL";
     }

  ?>

 ?>

yukarda gösterdiğime benzer bi kod yapısı olmasını istiyorum umarım kafa karıştırmamışımdır.

arcface
1640 gün önce

Merhaba,

Soru biraz eksik kalmış anlamam için yardımcı ol lütfen. Şimdi sormak istediğin şey bir Müşteri tablon bulunuyor.
Bu tablo üzerinde musteri_tutar,musteri_durum olarak 2 adet konu ile alakalı sütün bulunuyor bu sütünların musteri_durum olanı 0 veya 1 şeklinde ödendi, ödenmedi gibi değer tutuyor.

Bu anladığım kadarı anlamadığım kısım ise musteri_tutar kısmı şimdi eğer musteri_durum alanında ödendi ve ödenmedi diye değer tutacaksan ödenen tutarı da tutacak bir sütün oluşturman gerekir yada ayrı bir tablo yaparak bunu ayrıştırman gerekir.

Soruya yazdığın örnek üzerinden bir çözüm sunayım.

 <?php 
 
     // İlk olarak sorgu da select ile sadece musteri_tutarını değil müsteri durumunuda alacaksın
    $Fiyat=$db->prepare("SELECT SUM(musteri_tutar) AS sayi,musteri_durum FROM musteri");
    $Fiyat->execute();
    $FiyatYaz= $Fiyat->fetch(PDO::FETCH_ASSOC);
    // daha sonra 
    if ($FiyatYaz['musteri_durum'] == 1) {
        echo echo "Ödenen Toplam Para:  ".$FiyatYaz['sayi']." TL";
    }else {
        echo "Ödenmeyen Toplam Para: ".$FiyatYaz['sayi']." TL";
    }

Bu şekilde bunu dediğim gibi gösterdiğin örneğe göre sunuyorum eğer istediğin bu ise bu şekilde yapabilirsin.