Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Problem z obliczeniem sumy z tabeli z bazy danych
Forum PHP.pl > Forum > Przedszkole
-Jewel-
Chciałam policzyć sumę ocen (wartości od 1 do 5) dla danego utworu, znajdującego się w bazie danych. Z pozimu php wyświetla się, że ilośc ocen wynosi 5, gdy chcę, żeby wyświetliło wszystkie oceny to wyświtla je prawidłowo (5 ,1, 4, 3, 1). Natomiast gdy próbuję policzyć sumę za każdym razem wychodzi 10. Co robię źle?

  1. $zapytanie = "select ocena from oceny where tytul='$tytul'";
  2. $wynik = mysqli_query($db,$zapytanie);
  3. $n=mysqli_num_rows($wynik);
  4. $oceny=mysqli_fetch_array($wynik);
  5. echo $n;
  6. $suma = array_sum($oceny);
  7. echo $suma;
nospor
$oceny=mysqli_fetch_array($wynik);
zwraca ci tylko jeden rekord a nie wszystkie. zajrzyj do manuala jak używać mysqli_fetch_array

hint: ma być pętla WHILE
nsurio 83. 858
Na pewno:
  1. while ($oceny = mysqli_fetch_array($wynik, MYSQL_NUM)) {


Ale nie wiem co dalej, żeby móc obliczyć tą sumę.
-Jewel-
  1. while ($oceny = mysqli_fetch_array($wynik)) {
  2. $oc=$oceny['ocena'];


Wyświetla wszystkie wartości ale nie jest tablicą więc $srednia = array_sum($oc) wyrzuca: Warning: array_sum() expects parameter 1 to be array, string given in C:\xampp\htdocs\FF\ocena.php on line 204
thek
Pytanie... Po co to zliczać po stronie skryptu? Bazy danych mają takie funkcje jak sum czy (tu się domyślam po co Ci to) avg.
nospor
Cytat
Wyświetla wszystkie wartości ale nie jest tablicą więc $srednia = array_sum($oc) wyrzuca: Warning: array_sum() expects parameter 1 to be array, string given in C:\xampp\htdocs\FF\ocena.php on line 204
A coś ty się tego array_sum przyczepił? To już cię w szkole podstawowej dodawać nie uczyli??

  1. $suma = 0;
  2. while ($oceny = mysqli_fetch_array($wynik)) {
  3. $suma=$suma + $oceny['ocena'];
  4. }

i już. Ot i cała filozofia.

serdelinho
Tak jak kolega wyzej napisal. Najlepsze rozwiazanie, po stronie skryptu. Ale SQL ma funkcje sumowania rekordów, poczytaj o SUM w SQL. Napewno gdzies w googlach znajdziesz.
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.