Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL][PHP] Jak zsumować "Czytania"?
roobik
post
Post #1





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


Witam!
Od paru dni nurtuje mnie pytanie, w jaki sposób zsumować "czytania" artów z danej kategorii. Utknąłem w tym miejscu... Być może odpowiedź jest banalna (lecz nie dla mnie...) i ktoś z Was ją zna?
Interesują nas pola:
id, tytul_arta, kategoria, odslon
Przykład rekordów (wg powyższego układu kolumn):
1 | Pierwszy art | Komputery | 23
2 | Drugi art | Ze świata | 41
3 | Jakiś art | Komputery | 16
4 | Inny art | Komputery | 7
5 | Coś tam | Ze świata | 29


Suma "czytań" z kategorii "Komputery" powinna wynosić 46, a z kategorii "Ze świata" 70. Jak więc zsumować ilości czytań poszczególnych artów z każdej kategorii?
Bardzo proszę o odpowiedź...
Go to the top of the page
+Quote Post
artur_dziocha
post
Post #2





Grupa: Zarejestrowani
Postów: 320
Pomógł: 53
Dołączył: 18.09.2007
Skąd: Radom

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


  1. $query = "SELECT kategoria, SUM( odslon ) FROM tabela GROUP BY kategoria";


Ten post edytował artur_dziocha 17.12.2010, 00:35:27
Go to the top of the page
+Quote Post
Crozin
post
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


  1. SELECT kategoria, SUM(odslon) FROM tbl_name GROUP BY kategoria;
Go to the top of the page
+Quote Post
roobik
post
Post #4





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


Przy moim wcześniejszym zapytaniu do bazy miałem "Array". Teraz, gdy za Waszymi (p)odpowiedziami zrobiłem tak:
  1. $opened_suma = mysql_query("SELECT kategoria, SUM( odslon ) FROM tab_o GROUP BY kategoria");

To przy wywołaniu pojawia mi się "Resource id..." (różne liczby od #124 zaczynając i z każdym wynikiem jest ten "Resource id" o 3 większy... Teraz to już zupełnie nie wiem, o co kaman...
Go to the top of the page
+Quote Post
sadistic_son
post
Post #5





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Pokaż cały kod.


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
Crozin
post
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


http://www.php.net/mysql_query - tutaj proponuję zajrzeć...
Go to the top of the page
+Quote Post
roobik
post
Post #7





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


  1. $opened_suma = mysql_query("SELECT kategoria, SUM( odslon ) FROM tab_o GROUP BY kategoria");
  2. echo 'Suma odsłon: '.$opened_suma.';
Go to the top of the page
+Quote Post
sadistic_son
post
Post #8





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


mysql_query nie mozesz wyswietlic w ten sposob! Uzyj np. petli while.
  1. $opened_suma = mysql_query("SELECT kategoria, SUM( odslon ) FROM tab_o GROUP BY kategoria");
  2. $num=mysql_num_rows($opened_suma);
  3. if($num>0){
  4. while($suma=mysql_fetch_array($opened_suma,MYSQL_NUM)){
  5. echo "Kategoria:$suma[0] - wyswitlen: $suma[1] <br />";
  6. }
  7. }else{echo 'brak wynikow!'}


Ten post edytował sadistic_son 17.12.2010, 01:17:49


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
artur_dziocha
post
Post #9





Grupa: Zarejestrowani
Postów: 320
Pomógł: 53
Dołączył: 18.09.2007
Skąd: Radom

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


Kod który Ci podaliśmy pobiera rekordy i grupuje je
Jeśli chcesz je wysłwietlić to zrób tak
  1. $opened_suma = mysql_query("SELECT kategoria, SUM( odslon ) FROM tab_o GROUP BY kategoria");
  2.  
  3. while($wiersz=mysql_fetch_row($opened_suma)){
  4. echo ":$wiersz[0].' '.$wiersz[1] <br />";
  5. }


Ten post edytował artur_dziocha 17.12.2010, 01:21:59
Go to the top of the page
+Quote Post
roobik
post
Post #10





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


Zrobiłem tak:
  1. $zap_opened_suma = mysql_query("SELECT kategoria, SUM( odslon ) FROM tab_o GROUP BY kategoria");
  2. while($mot = mysql_fetch_array($zap_opened_suma)) {
  3. $opened_suma = $mot['odslon'];
  4.  
  5. echo '<div style="width: 10%; float: left;">'.$opened_suma.'</div>';}

Niestety, nic teraz się nie wyświetla.. sad.gif (tzn nie ma ani "Array..." ani "Resource id..." - nic.

//edit
Przepraszam, nie zauważyłem, że są jeszcze inne odpowiedzi (edycja i inna odp) - zaraz sprawdzam i dam znać.
//edit2
OK smile.gif Dziękuję BARDZO za pomoc! smile.gif

Ten post edytował roobik 17.12.2010, 01:50:56
Go to the top of the page
+Quote Post
artur_dziocha
post
Post #11





Grupa: Zarejestrowani
Postów: 320
Pomógł: 53
Dołączył: 18.09.2007
Skąd: Radom

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


popatrz na swój kod jeszcze raz i na ten co Ci podalismy
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 Aktualny czas: 21.08.2025 - 22:06