Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak to policzyc ?
Forum PHP.pl > Forum > PHP
Smoker
mam problem :] mam w bazie danych pewną tabele ktora zawiera rozne liczby wprowadzane przez uzytkownikow. Im wiecej uzytkownikow wprowadzi taka liczbe tym wiecej jest rekordow. I jak teraz dodac to wszystko do siebie ? tak zeby w wyniku otrzymac sume wszystkich liczb ?
Quider
rozumiem, że chcesz policzyć te liczby które dodają użytownicy, tak?

Moja idea polega na tym, że w bazie danych te liczby trzymasz pod określonymi nazwami pól, tak też w prosty sposób możesz wyciągnać z bazy danych te rekordy:
  1. <?
  2. //łaczenie z baza i te sprawy
  3.  
  4. $sql = 'SELECT * FROM tabela ';// proste zapytanie, które pobiera wszystko z tabeli
  5. $zapytanie = mysql_query($sql);
  6.  
  7. while ($wykonaj = mysql_fetch_assoc($zapytanie))
  8. {
  9. //teraz sumujemy liczby:
  10. $suma = $suma + $wykonaj[pole_liczbowe];//sumuje wszystkie liczby
  11. }
  12.  
  13. ?>

Jeżeli się dobrze zrozumieliśmy
Czy może chcesz liczyć rekordy i wyświetlić ilośc rekordów, w których są te liczby?
Smoker
wyświetlać tego nie potrzebuje ale wynik będzie przez kolejne zapytanie zapisywany do innej tabeli... zaraz zobacze czy twoj pomysl wypali...

edit: dzieki wielkie :] juz jest dobrze :] tylko przed $suma dodalem @ bo przy 1wszym wykonaniu peli jeszcze nie ma tej zmiennej i wywalał błąd... z reszta juz sobie poradze
Quider
nie mylmy pojęc tablica i tabela... ;P a po drugie tam się nic nie wyswietla ;P tylko liczy ;D trzeba za pętlą dodać

  1. <?php
  2. echo $suma;
  3. ?>
ddiceman
Quider, troszke na bakier to Twoje rozwiazanie ma z wydajnoscia (jakakolwiek)...

po co pobierac kazdy wiersz i to ze wszystkimi kolumnami jak mozna jednym zapytaniem
  1. SELECT SUM(pole) AS suma FROM tabela;

i pobrac to w mysqlu np.
  1. <?php
  2. $wynik = mysql_query('SELECT SUM(pole) AS suma FROM tabela;');
  3. $wiersz = mysql_fetch_assoc($wynik);
  4. $suma = $wiersz['suma'];
  5. ?>
Smoker
SELECT SUM(pole) ==> a tej komendy jeszcze nie znam :]
Quider
@ddiceman tak, racja. smile.gif można też tak winksmiley.jpg nie potrzebowałem jeszcze sumowania danych w rekordach ;P wiec wyleciało mi ;P
ddiceman
http://dev.mysql.com/doc/refman/5.1/en/gro...ml#function_sum,
Zadziala o wiele szybciej. Kolega Ci zaproponowal rozwiazanie zadania 'policz ilu jechalo w ciagu dnia kierowcow na platnej autostradzie' poprzez zamkniecie tej drogi, nakazanie kazdemu kolejno podjechanie pod specjalny pokoik, do ktorego maja wyjsc wszyscy podrozujacy danym pojazdem, nakazanie kierowcy podniesienie reki i dodawanie po 1 ilekroc ktos w tym pokoju podniesie reke.
Quider
tak, zgadzam sie biggrin.gif i przyznaje do bledu winksmiley.jpg juz mnie nie kop ;P
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.