Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-11-04 09:01:20

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Mysql + php sumowanie wyników z bazy danych

Witam. Mam taki problem w związku z sumowaniem wyników z bazy danych.
(Nawiązując do mojego poprzedniego wątku wyświetlam sobie wyniki z bazy danych miesiącami za pomocą
zapytania:

Kod:

$zapytanie = "SELECT count(*) AS suma_zdarzen, MONTH(data_zd) AS mies FROM dane_uzytkownikow where data_zd between '2012.01.01' and '2012.12.31' AND akcept='1' group by mies";
                $wykonaj = mysql_query($zapytanie);
                    while($wiersz=mysql_fetch_array ($wykonaj))
                        {
                                                $wszystkie_zdarzenia="126"
                        $suma_zdarzen = $wiersz['suma_zdarzen'];
                                        $czestosc = $suma_zdarzen / $wszystkie_zdarzenia;
                                         echo round($czestosc,4);
                        }

Oczywiście kod jest jeszcze ubrany w tabelkę htmla gdzie u góry wyświetlają się miesiące z poniżej wynik za dany miesiąc.
I zastanawiam się nad najprostszym kodem gdzie mając np taki układ z powyższego zapytania:

   
Luty Marzec Kwiecień Czerwiec Lipiec Sierpień Wrzesień Październik
   
0.0074 0.0079 0.0080 0.0159 0.0159 0.0099 0.0159 0.0556

Poniżej potrzebuję zrobić tabelkę gdzie będę liczył:

Pierwszy miesiąc ( czyli luty pozostawiam bez zmian czyli zostaje 0.0074 )

--- do Lutego dodaję Marzec i otrzymuję ( 0.0074 + 0.0079 = 0.0153 )
czyli dla Marca wynik to 0.0153.
--- do wyniku z Marca ( czyli 0.0153 dodaję kolejny miesiąc czyli Kwiecień - 0.0153 + 0.0080 = 0.0233 )
czyli dla Kwietnia wynik to 0.0233.
Ogólnie tabelka powinna wyglądać tak:

Luty Marzec Kwiecień Czerwiec Lipiec Sierpień Wrzesień Październik
   
0.0074 0.0079 0.0080 0.0159 0.0159 0.0099 0.0159 0.0556

0.0074 0.0153 0.0233 itd itd

Ma ktoś może pomysł na szybkie policzenie tego?
Był bym wdzięczny za pomoc. Pozdrawiam.


debbie
Wrócę jak zjem zupę i drugie danie - tyle
a oto ta zupa:

Offline

 

#2  2013-11-04 10:05:39

  winnetou - złodziej wirków ]:->

winnetou
złodziej wirków ]:->
Skąd: Jasło/Rzeszów kiedyś Gdańs
Zarejestrowany: 2008-03-31
Serwis

Re: Mysql + php sumowanie wyników z bazy danych

albo zrób sobie gdzieś jakąś zmienną do której będziesz dodwał wyniki z mysql'a

Kod:

$zmienna = 0;
....

while($wiersz=mysql_fetch_array ($wykonaj)) {
$wszystkie_zdarzenia="126"
$suma_zdarzen = $wiersz['suma_zdarzen'];
$czestosc = $suma_zdarzen / $wszystkie_zdarzenia;
$zmienna=$zmienna+$czestosc
echo round($czestosc,4);
}

LRU: #472938
napisz do mnie: ola@mojmail.eu
Hołmpejdż | Galerie | "Twórczość" || Free Image Hosting

Offline

 

#3  2013-11-04 12:18:46

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Re: Mysql + php sumowanie wyników z bazy danych

O TO CHODZIŁO :) Dzięki bardzo:)
Mam jeszcze jeden problem ponieważ czasami do wyniku dodaje lub odejmuje mi 1 po przecinku.
Tzn np:

0.0074 0.0079 0.0080 0.0159 0.0159 0.0099 0.0159 0.0556

0.0074 0.0152 0.0233 itd itd

( jak widać w przypadku 0.0152 - jest o 0.0001 za mało. A w niektórych przypadkach robi to samo tylko o 1 za dużo )
Nie bardzo wiem co może być nie tak. Próbowałem zmienić:

echo round($czestosc,4);

na

echo number_format($czestosc, 4, '.', '');

ale jest podobnie. Tak myślę że może zaokrągla ale ja potrzebuję wyników bez zaokrąglania.

Ostatnio edytowany przez debbie (2013-11-04 12:34:10)


debbie
Wrócę jak zjem zupę i drugie danie - tyle
a oto ta zupa:

Offline

 

#4  2013-11-04 20:11:53

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: Mysql + php sumowanie wyników z bazy danych

to wywal round() czy tam number_format i po problemie


LRU #480459

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)