Jump to content


Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Posted Image Posted Image

Guest Message by DevFuse
 

Problem z liczeniem średniej dla kilku osób

php

  • You cannot start a new topic
  • You cannot reply to this topic
1 reply to this topic

#1 kijkol

    Profesjonalista

  • Użytkownik

  • Reputacja: 31
    Życzliwy

  • Postów:174
  • Lokalizacja:Witów
Offline

Posted 15.05.2014 09:52

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>
';
}
}

  • +
  • -
  • 0

#2 Cytrynowy

    Zaawansowany

  • Użytkownik

  • Reputacja: 18
    Początkujący

  • Postów:84
  • Steam:steam
  • Imię:Patryk
  • Lokalizacja:Gdynia
Offline

Posted 17.05.2014 12:34


if(mysql_num_rows($krol) > 0) 
{ 
while($r = mysql_fetch_assoc($krol)) 
{
$nick = $r['nick'];
$selocena = mysql_query("SELECT AVG(ocena) FROM `kn_krolowieoceny` WHERE `krol`='".$nick."'");
        $selocenanum = mysql_num_rows($selocena);
if($selocenanum != 0){
                        while($selocenaarray = mysql_fetch_array($selocena)){
                                $ocena = $selocenaarray['AVG(ocena)'];
                        }
                    }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>
';
}
}



  • +
  • -
  • 0




  


1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

Coinsy CSGOPolygon Za SMS, PSC , Przelew - CoinSell.pro
Skiny do CS:GO za SMS, PSC, Przelew - CSGOPaka.com
Automatyczny Bot Levelowania Steam - LVLUPSteam.com
CSGO Gambling Sites and Free Betting Codes - DreamCodes.gg

Sign In