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.
if(mysql_num_rows($krol) > 0)
{
while($r = mysql_fetch_assoc($krol))
{
$nick = $r['nick'];
$selocena = mysql_query("SELECT * FROM `kn_krolowieoceny` WHERE `krol`='".$nick."'");
$selocenanum = mysql_num_rows($selocena);
if($selocenanum != 0){
while($selocenaarray = mysql_fetch_assoc($selocena)){
$sumaocen = $sumaocen + $selocenaarray['ocena'];
}
$ocena=$sumaocen / $selocenanum;
}else{
$ocena = "N/a";
}
echo '<tr >
<td style="width: 850px" align="center" style="vertical-align: middle;">'.$nick.' - '.$r['motto'].'<br></td>
<td style="width: 150px" align="center" style="vertical-align: middle;">
'.$ocena.'<br></td>
<td style="width: 150px" align="center" style="vertical-align: middle;">
<form action="krol.php?='.$nick.'" method="POST">
<input type="submit" name="pokaż" class="input_submit alt" value="Więcej"></form>
</td>
</tr>
';
}
}


Dodatki SourceMod














