Avatar billede 123maka Nybegynder
28. september 2003 - 10:16 Der er 10 kommentarer og
1 løsning

Gennemsnit system

Alle tal (time) er nogle tal på 0,0014 osv, men det virker åbenbart ikke.
$ialt bliver ved med at være 0, hvad gør jeg galt?

<?php
#kald op til mysql

$gennemsnit = 0;
$hent = mysql_query("SELECT time FROM times WHERE navn = 'echo'") or die(mysql_error());
$hvormange = mysql_num_rows($hent);
while ($row = mysql_fetch_array($hent)) {
$gennemsnittet = $gennemsnit+$row[time];
}
$ialt = $gennemsnittet/$hvormange;
echo"Echo: $ialt";
?>
Avatar billede schaefner Juniormester
28. september 2003 - 10:26 #1
<?php
// kald op til mysql

$query = mysql_query("SELECT SUM(time) AS total, COUNT(*) AS antal FROM times WHERE navn = 'echo'") or die(mysql_error());
$row = mysql_fetch_assoc($query);
$ialt = $row['total']/$row['antal'];
echo 'Echo: '.$ialt;
?>
Avatar billede fangel Nybegynder
28. september 2003 - 10:28 #2
WHERE navn = 'echo' ?? kan det passe? lyder underligt ;)

anyway, PHP kører med en præcision på 12 decimaler, så det er næppe det...

på at ændre det til

---
<?php
#kald op til mysql

$gennemsnit = 0;
$hent = mysql_query("SELECT time FROM times WHERE navn = 'echo'") or die(mysql_error());
$hvormange = mysql_num_rows($hent);
while ($row = mysql_fetch_array($hent)) {
  $gennemsnittet = $gennemsnit+$row['time'];
  echo $row['time'] . " - " . $gennemsnittet . "<br>\n";
}

echo "antal : " . $hvor mange . "<br><hr><br>Gennesnit: ";

$ialt = $gennemsnittet/$hvormange;
echo"Echo: $ialt";
?>
---

bare for at lave lidt test på det - så du kan se om det fejler nogle steder ;)

Morten
Avatar billede fangel Nybegynder
28. september 2003 - 10:29 #3
schaefner => hvor er du kedelg ;)

kan/har mysql ikke lave en AVG funktion ?

Morten
Avatar billede fangel Nybegynder
28. september 2003 - 10:31 #4
hmm - hade dig også:

AVG(expr)
    Returns the average value of expr:

mysql> SELECT student_name, AVG(test_score)
    ->        FROM student
    ->        GROUP BY student_name;

Morten
Avatar billede schaefner Juniormester
28. september 2003 - 10:36 #5
$ialt = mysql_result(mysql_query("SELECT AVG(time) FROM times WHERE navn = 'echo' GROUP BY navn"),0);

echo 'Gennemsnit: '.round($ialt);
Avatar billede 123maka Nybegynder
28. september 2003 - 10:40 #6
schaefner:
din returnerer:
Gennemsnit: 0

Ellers virker det som det skal :)
Avatar billede schaefner Juniormester
28. september 2003 - 10:42 #7
den første jeg lavede?
Avatar billede 123maka Nybegynder
28. september 2003 - 14:24 #8
schaefner <- nej den sidste.

Men det er godt nok de virker begge 2. Valgte at bruge dea_pg's.
Avatar billede 123maka Nybegynder
26. oktober 2003 - 13:06 #9
svar? lukker om 4 dage
Avatar billede schaefner Juniormester
26. oktober 2003 - 13:44 #10
ved ikke om du vil have et svar fra mig?
Avatar billede fangel Nybegynder
26. oktober 2003 - 15:04 #11
svaa'r

Morten
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester