Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

While döngüsü içinde while ve gene while

$sorgu = mysql_query("SELECT * FROM hesap WHERE tarih='$degisken_tarih'");
while($sorgu_liste = mysql_fetch_array($sorgu))
{

İkinci olara bu gün içindeki üyelerin günlük toplan kazanclarını hesaplayacaksın.
$kazanc= mysql_query("SELECT sum(gunluk_ucret) FROM hesap WHERE uye_id= $sorgu_liste['uye_id']");
   
  while($sorgu_kazanc=mysql_fetch_array($kazanc)){
    $kazanc_toplam = $sorgu_kazanc['gunluk_ucret'];  // burda  sana üyenin toplam ücretini verir.
    $kazanc_id= $sorgu_liste['uye_id'] ;

   

   }
}  


yukarıdaki gibi while döngüsü içinde while ve gene while yapıyorum ama
Şimdi hocam ben verdiğniz kodları yapıyorum ama sabahtan beri uğraşmam sonucu hatayı buldum. Şimdi hocam while döngüsüün üçind eolduğu için en son değerleri topluyor ve ondan sonraki değeri topluyor taki listenin sonunda değere kadar.


$hesapla = $son_bakiye + $kazanc_toplam;



yukarıdaki kod ile günün kazançları ile eski hesabını toplatıyorum. Ama sorun şöyle şimdi bir çok kazanç olduğu için her seferinde topluyor.

Yani

Eski bakiye : 10 TL

27.09.2010 tarihinde kazançları
a = 1 TL
b = 1 TL
c = 1 TL
hepsinin toplamı 3'e eşit. Oda $kazanc_toplam; değişkenine eşit.

Şimdi toplattığım zaman bana sonucu 19 TL olarak veriyor. Çünkü echo yapıp olanı biteni göremek istedim. Baktım ki

Günlük Kazanç : 3 TL
Son Bakiye : 13 TL


Günlük Kazanç : 3 TL
Son Bakiye : 16 TL


Günlük Kazanç : 3 TL
Son Bakiye : 19 TL

Dolayısı ile en sonra olarak 19 TL hafıza kaldığı için 19'TL ekliyor veritabanına . Buda yanlış sonuçlar doğruyor.
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • zugur adlı üyenin fotoğrafı
    12 yıl önce yazılmış
    21 cevap - 0 soru
    Anladığım kadarıyla hesap adında bir tablon var ve bu tablo üzerinden günlük ve müşteri bazında hesaplamalar yapıyorsun. Sorgularında ilk önce istediğin bir ay aralığındaki kayıtları buluyorsun ve daha sonra belirttiğin ay içerisindeki müşterilerin günlük toplam kazançlarını bulmak için işlemler yapıyorsun. Ve her seferinde while döngüsü ile sadece hesap tablosu içinde döngü kuruyorsun. Bu yöntem biraz seni yavaşlatabilir diye düşünüyorum. Eğer anlattığım gibi ise yaptığın işlemler bütün işlem hesablarını SQL üzerinden sorgularla yapman ve çıkan sonuçları programında görüntülemen daha performanslı olacaktır.

    Hesap tablosunda aylık sorgu çekerken gelen sonuçları müşteri ve gün bazında gruplayabilirsen çözüme ulaşabilirsin gibime geliyor.