Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] zliczanie sum
pkania
post 10.02.2007, 14:22:40
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 26.12.2006

Ostrzeżenie: (0%)
-----


witam,
mam strone [php] i tabelke ktora wyrzuca mi z bazy danych [mysql] cos takiego:
pawel 12
adam 15
aga 3

chcialbym aby zliczalo mi sume i wyszla taka tabelka:
pawel 12
adam 15
aga 3
------------
Razem 30

moze macie pomysl jak to zrobic?
z gory dziekuje za pomoc
Powód edycji: Poprawiłem tytuł tematu. /webdice
Go to the top of the page
+Quote Post
strife
post 10.02.2007, 14:24:50
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Takim zapytaniem policzysz łatwo ile jest tego razem winksmiley.jpg

  1. SELECT SUM(pole) AS suma FROM tabela


--------------------
Go to the top of the page
+Quote Post
pkania
post 10.02.2007, 15:22:35
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 26.12.2006

Ostrzeżenie: (0%)
-----


ok dzieki dziala, ale chcialbym wiecej:
pawel 12 1
adam 15 6
aga 3 3

chcialbym aby zliczalo mi sume i wyszla taka tabelka:
pawel 12 1
adam 15 6
aga 3 3
------------------
Razem 30 10
Go to the top of the page
+Quote Post
Cienki1980
post 10.02.2007, 15:36:02
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


Echh no trochę pomyśleć:
  1. SELECT sum(pole1),sum(pole2) ... FROM tabela


--------------------
404
Go to the top of the page
+Quote Post
-Gość-
post 11.09.2008, 13:37:04
Post #5





Goście







  1. <table border=1 bordercolor=red><tr><td>
  2. <?
  3. $result = mysql_query('SELECT * FROM `wyniki`');
  4. while($row = mysql_fetch_array($result))
  5. { echo '<tr><td>'.$row['pkt'].'</td></tr>';}
  6.  
  7. $result2 = mysql_query('SELECT SUM(waga) FROM `wyniki`');
  8. while($row2 = mysql_fetch_array($result2))
  9. { echo '<tr><td>'.$row2['pkt'].'</td></tr>';}
  10. ?></td></tr></table><br>


Mam podobny problem i nie wiem jak wyświetlić wynik funkcji.
Pierwsza część kodu jest OK, druga się nie wyświetla.

Czy mógłby ktoś pomóc?
Go to the top of the page
+Quote Post
Lion_87
post 11.09.2008, 14:26:03
Post #6





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


bo masz zapytanie
Cytat
SELECT SUM(waga) FROM `wyniki`


a z tego pytania wywolac chcesz "$row2['pkt']" exclamation.gif!
Go to the top of the page
+Quote Post
-Gość-
post 11.09.2008, 15:02:34
Post #7





Goście







Chodzi o to, że w tabeli mam kolumnę o nazwie pkt.

Pierwsza część kodu wyświetla mi wszystkie wiersze jeden po drugim ta część kodu jest OK.
Wygląda to tak:
pkt
2
3
5
6

Druga część kodu ma zsumować wszystko z kolumny pkt i wyświetlić wynik tego dodawania.
W moim przekonaniu $row2 ma wyświetlić ten wynik.
Czyli powinien wyświetlić się wynik:

16

a nie wyświetla się nic.
ZAczynam się uczyć php i nie wszystko jeszcze łapię.
Go to the top of the page
+Quote Post
help_mee
post 11.09.2008, 15:51:53
Post #8





Grupa: Zarejestrowani
Postów: 244
Pomógł: 21
Dołączył: 10.02.2008
Skąd: Załęcze Wielkie

Ostrzeżenie: (0%)
-----


  1. <table border=1 bordercolor=red><tr><td>
  2. <?
  3. $result = mysql_query('SELECT * FROM `wyniki`');
  4. while($row = mysql_fetch_array($result))
  5. { echo '<tr><td>'.$row['pkt'].'</td></tr>';
  6. $suma = $suma+$row['pkt'];
  7. }
  8. echo '<tr><td>Razem:'.$suma.'</td></tr>';
  9. ?></td></tr></table><br>


po co ma wysyłać kolejne zapytanie sql jak można wykorzystać istniejącą pętle?


--------------------
Amentis dolet!
Deus et patria!
» Pomogłem? Kliknij Pomógł.
Go to the top of the page
+Quote Post
-Gość-
post 11.09.2008, 17:44:27
Post #9





Goście







Bardzo dziękuję.
Rzeczywiście działa.

Mam jeszcze prośbę o dodatkowe wyjaśnienie:
Nie rozumiem tego fragmentu kodu:

$suma = $suma+$row['pkt'];


Druga sprawa:

Chciałbym się również dowiedzieć jak zrobić to samo przy użyciu "sum"
Dlaczego nie wyświetla się to po wpisaniu kodu, który podałem na początku?
Go to the top of the page
+Quote Post
help_mee
post 11.09.2008, 20:25:15
Post #10





Grupa: Zarejestrowani
Postów: 244
Pomógł: 21
Dołączył: 10.02.2008
Skąd: Załęcze Wielkie

Ostrzeżenie: (0%)
-----


Cytat(Gość @ 11.09.2008, 18:44:27 ) *
Mam jeszcze prośbę o dodatkowe wyjaśnienie:
Nie rozumiem tego fragmentu kodu:
$suma = $suma+$row['pkt'];

w pętli ustawia $sume na $sume + aktualny wynik...


Cytat
Druga sprawa:

Chciałbym się również dowiedzieć jak zrobić to samo przy użyciu "sum"
Dlaczego nie wyświetla się to po wpisaniu kodu, który podałem na początku?


nie ma takiej potrzeby

pozdr


--------------------
Amentis dolet!
Deus et patria!
» Pomogłem? Kliknij Pomógł.
Go to the top of the page
+Quote Post
-Gość-
post 12.09.2008, 09:17:03
Post #11





Goście







Wlczyłem z tym pół nocy i nic:

  1. <table border=1 bordercolor=000080>
  2. <?
  3. $result = mysql_query('SELECT zaw_id,SUM(pkt) FROM zawody_nauka
  4. GROUP BY zaw_id'
  5. );
  6.  
  7. while($row = mysql_fetch_array($result))
  8. { echo '<tr><td>'.$row['zaw_id'].'</td><td> '.$row['pkt'].'</td></tr>';
  9. }
  10.  
  11. ?>
  12. </table>


nazwa tabeli: zawody_nauka
kolumny w tabeli:
zaw_id pkt
0 10
1 8
2 6
0 8
1 5
2 6



Powyższy kod ma wyświetlać:
zaw_id pkt
0 18
1 13
2 12



Natomiast wyświetla tylko:

0
1
2

Gdzie tkwi błąd?
Go to the top of the page
+Quote Post
webdice
post 12.09.2008, 10:08:58
Post #12


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Pomyśl trochę. Odwołujesz się do pola pkt, więc wyświetla Ci się to pole - logiczne. Musisz stworzyć sobie alias (AS `suma`) dla funkcji SUM.

  1. <table border=1 bordercolor=000080>
  2. <?
  3. $result = mysql_query('SELECT zaw_id,SUM(pkt) AS `suma` FROM zawody_nauka
  4. GROUP BY zaw_id'
  5. );
  6.  
  7. while($row = mysql_fetch_array($result))
  8. { echo '<tr><td>'.$row['zaw_id'].'</td><td> '.$row['suma'].'</td></tr>';
  9. }
  10.  
  11. ?>
  12. </table>
Go to the top of the page
+Quote Post
-Gość-
post 12.09.2008, 12:40:33
Post #13





Goście







Dziękuję bardzo za pomoc.
Uczę się dopiero PHP i po przerobieniu podstaw, robię krok po kroku wszystko, co jest związane z tabelami.
Mam w tej chwili dwie tabelę, które połączyłem.
  1. <table border=1 bordercolor=000080>
  2. <?
  3.  
  4. $result = mysql_query('SELECT zawodnicy_nauka.imie,pkt,waga
  5. FROM zawodnicy_nauka
  6. INNER JOIN zawody_nauka
  7. ON zawodnicy_nauka.zaw_id=zawody_nauka.zaw_id'
  8.  
  9. );
  10.  
  11.  
  12. while($row = mysql_fetch_array($result))
  13. { echo '<tr><td>'.$row['imie'].'</td><td> '.$row['waga'].' </td><td>'.$row['pkt'].' </td><td>'.$row['zaw_id'].' </td><td>'.$row['miejsce'].'</td></tr>';}
  14.  
  15. ?>
  16. </table>


W powyższej tabeli wszystko jest OK


Mam też drugą, którą pomogliście mi zrobić:

  1. <table border=1 bordercolor=000080>
  2. <?
  3. $result = mysql_query('SELECT zaw_id,SUM(waga) AS `waga`, SUM(pkt) AS `pkt` FROM zawody_nauka
  4. GROUP BY zaw_id'
  5. );
  6.  
  7. while($row = mysql_fetch_array($result))
  8. { echo '<tr><td>'.$row['zaw_id'].'</td><td> '.$row['waga'].'</td><td> '.$row['pkt'].'</td></tr>';
  9. }
  10.  
  11. ?>
  12. </table>



Tutaj też wszystko jest OK.




Teraz problem:


Po podstawieniu części kodu z drugiej tabeli do pierwszej coś jest nie tak i nic się nie wyświetla.




  1. <table border=1 bordercolor=000080>
  2. <?
  3.  
  4. $result = mysql_query('SELECT zawodnicy_nauka.imie,SUM(waga) AS `waga`, SUM(pkt) AS `pkt`
  5. FROM zawodnicy_nauka
  6. INNER JOIN zawody_nauka
  7. ON zawodnicy_nauka.zaw_id=zawody_nauka.zaw_id'
  8.  
  9. );
  10.  
  11.  
  12. while($row = mysql_fetch_array($result))
  13. { echo '<tr><td>'.$row['imie'].'</td><td> '.$row['waga'].' </td><td>'.$row['pkt'].' </td><td>'.$row['zaw_id'].' </td><td>'.$row['miejsce'].'</td></tr>';}
  14.  
  15. ?>
  16. </table>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 1.05.2025 - 04:32