Durchschnitt ausrechnen

ryserstephan

Mitglied
Hallo ich will aus meiner Mysql DB einzelne Spalten auslesen und von den 4 werten den durchschnitt ausrechnen. mein beispiel :

mysql_connect($db_host, $db_user, $db_pw);
mysql_select_db($db_dbname) ;

$sql ="SELECT (AVG(id) + AVG(C3) + AVG(C4) + AVG(C5) + AVG(C6)) /4 FROM daten";

$result = mysql_query($sql) OR die(mysql_error());

while($row = mysql_fetch_assoc($result)) {
echo" $row[AVG(id)], $row[AVG(C3)], $row[AVG(C4)], $row[AVG(C5)], $row[AVG(C6)]";
}

Leider geht das aus irgend einem Grund nichtr was mache ich falsch
Gr33z
Info: das ist das letzt dokument also habe ich dann auch keine fragen mehr ;0)
 
Ich denke wenn du es so machst müsste es klappen:
$sql ="SELECT (AVG(id) + AVG(C3) + AVG(C4) + AVG(C5) + AVG(C6)) /4 as foo FROM daten";
 
ich würde das über mysql_fetch_array machen und dann per zahl also ungefähr so:

Code:
$res = query, das alles ausliest, also SELECT * FROM....
$a = 3;
$n = 0;
while($row = mysql_fetch_array($res)) {
/*
// Dieser Abschnitt nur, wenn du ID auch dazugezählt haben willst!
if(!isset($ok)) {
  $a+= $row['id'];
  $ok = 1;
}
//Bis hier her geht der Abschnitt!
*/
$n += $row["C".$a];
  $a ++;
}
$ausgabe = $n/5;  //Hier wird der Durchschnitt errechnet..

Sry, dass ich es so kompliziert mache, aber das ist das, was mir als 1. einfällt...
 
Danke für die schnelle antwort,leider beckome ich immer einen fehler auf der zeile 17
was ist den hier falsch :
echo" $row[AVG(id)], $row[AVG(C3)], $row[AVG(C4)], $row[AVG(C5)], $row[AVG(C6)]";

langsam aber sicher dreh ich durch an den Formularen ;0)

Die 2 antwort von Desert : Ich peil ja gar nichts ;0)
 
du bekommst wahrscheinlich einen Fehler weil du eine ( ) ein einer [ ] hast.
 
Zuletzt bearbeitet:
Hm Irgend wie schafe ich jetzt gar nichts mehr, beim auslesen steht jetzt :

'Array [AVG[C3]]' 'Array [AVG[C4]]' 'Array [AVG[C5]]' 'Array [AVG[C6]]'
ist auch total falsch ich will einfach das der den durchsch nit der 4 einträge ausrechnet:confused:
 
<?php
$db_dbname = 'beurteilung';
$db_user = 'root';
$db_pw = '';
$db_host = 'localhost';

$tabellenname = 'daten';
$id = 'id';
mysql_connect($db_host, $db_user, $db_pw);
mysql_select_db($db_dbname) ;

$sql ="SELECT (AVG(C3) + AVG(C4) + AVG(C5) + AVG(C6)) /'$id' as foo FROM daten";

$result = mysql_query($sql) OR die(mysql_error());

while($row = mysql_fetch_assoc($result)) {
echo" '$row [AVG[C3]]',
'$row [AVG[C4]]',
'$row [AVG[C5]]',
'$row [AVG[C6]]'";
}
?>
Sorry das ich ihn so posten muss aber der Server hat veraltete software somit kann ich den php button nicht brauchen ! Gr33z
 
Also ich hoffe ja nicht das du durch "id" teilst, weil Teilen durch Wörter geht schlecht, aber dies
echo" '$row [AVG[C3]]', '$row [AVG[C4]]', '$row [AVG[C5]]', '$row [AVG[C6]]'";

ersetzt du mal durch:

echo $row[foo];
 
Dank dir es klappt so. Wegen der id ich will ja den durch schnitt zu dieser frage somit muss ich die personen (votes) mal die punkte und das bei allen 4 kasten das resultat zusammen zählen und : durch die anzahl der personen somit dekomme ich ja den durchschnitt was die leute gevotet haben.
Bsp.
6 x 3 = 18
11 x 2 = 22
18 + 22 = 40 :17 = 2.4
so sollte das sein.
so möchte ich das machen.
auser dem in der msql Db ist in der spalte id bei mir zahlen.
 
Zuletzt bearbeitet:
Zurück