Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][PHP] Jak zsumować "Czytania"?
Forum PHP.pl > Forum > Przedszkole
roobik
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ź...
artur_dziocha
  1. $query = "SELECT kategoria, SUM( odslon ) FROM tabela GROUP BY kategoria";
Crozin
  1. SELECT kategoria, SUM(odslon) FROM tbl_name GROUP BY kategoria;
roobik
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...
sadistic_son
Pokaż cały kod.
Crozin
http://www.php.net/mysql_query - tutaj proponuję zajrzeć...
roobik
  1. $opened_suma = mysql_query("SELECT kategoria, SUM( odslon ) FROM tab_o GROUP BY kategoria");
  2. echo 'Suma odsłon: '.$opened_suma.';
sadistic_son
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!'}
artur_dziocha
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. }
roobik
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
artur_dziocha
popatrz na swój kod jeszcze raz i na ten co Ci podalismy
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.