Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z liczeniem średniej dla kilku osób
Forum PHP.pl > Forum > Przedszkole
master245
Witam.
Otóż mam taki kod jak niżej do liczenia średniej z bazy mysql i dla pierwszego liczy dobrze, a dla następnych liczy prawie dobrze.
Mianowicie dodaje wszystkie oceny, ale dzieli przez ilość dla tej konkretnej osoby.
Przykład:
Osoba 1 - ma 5 i 1 6/2 średnia 3 //dobrze
Osoba 2 - ma 10 i 1 liczy 17/2 średnia 8.5 powinno 11/2 // źle
Osoba 3 - ma 1 i 1 liczy 19/2 średnia 9.5 powinno 2/2 // źle
itd. analogicznie.
Nie mam pojęcia jak ten problem rozwiązać z góry dzięki.

  1. if(mysql_num_rows($krol) > 0)
  2. {
  3. while($r = mysql_fetch_assoc($krol))
  4. {
  5. $nick = $r['nick'];
  6. $selocena = mysql_query("SELECT * FROM `kn_krolowieoceny` WHERE `krol`='".$nick."'");
  7. $selocenanum = mysql_num_rows($selocena);
  8. if($selocenanum != 0){
  9. while($selocenaarray = mysql_fetch_assoc($selocena)){
  10. $sumaocen = $sumaocen + $selocenaarray['ocena'];
  11. }
  12. $ocena=$sumaocen / $selocenanum;
  13. }else{
  14. $ocena = "N/a";
  15. }
  16.  
  17.  
  18. echo '<tr >
  19. <td style="width: 850px" align="center" style="vertical-align: middle;">'.$nick.' - '.$r['motto'].'<br></td>
  20. <td style="width: 150px" align="center" style="vertical-align: middle;">
  21. '.$ocena.'<br></td>
  22. <td style="width: 150px" align="center" style="vertical-align: middle;">
  23. <form action="krol.php?='.$nick.'" method="POST">
  24. <input type="submit" name="pokaż" class="input_submit alt" value="Więcej"></form>
  25. </td>
  26. </tr>
  27. ';
  28. }
  29. }
nospor
Nie przyszlo ci do glowy, by przed przystapieniem sumowania ocen dla konkretnej osoby, wpierw te sume $sumaocen wyzerowac? To naprawde takie trudne?

Przenosze na przedszkole
master245
No nie pomyślałem ;/
Dzięki ;p
nospor
Ale sam napisales, ze dla kazdej kolejnej osoby dodaje wszystkie oceny a nie tylko tej osoby.... No przecież to juz tak ewidentna wskazowka, ze trzeba sie naprawde mocno wysilac by jej nie zauwazyc.... Staraj sie nastepnym razem pomyslec, potem pomyslec, potem jeszcze raz pomyslec, i dopiero potem walic na forum.
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.