Hallo Zusammen
Ich bin ja relativ neu im Geschäft und versuche mir grad selber PHP beizubringen.
Jetzt stehe ich allerdings vor einem großen Problem:
Es geht um ein Formular, wo mehrere Punkterichter Projekte bewerten können.
Im 1. Feld wählt der Richter seinen Namen aus
im 2. Feld denjenigen, den er bewerten will,
im 3. das Projekt das er bewerten will und im letzten Feld trägt er die Punkte ein.
Nach dem Eintrag möchte ich gerne, daß der Richter die aktuelle Top10 angezeigt bekommt und da geht es mit meinem Problem los.
Jeder User hat mehr als ein Projekt ( theoretisch kann er jeden tag ein neues anmelden).
Nicht jeder Richter bewertet jedes Projekt. man kann ja mal eins übersehen oder was auch immer.
Wie bekomme ich jetzt eine Abfrage hin, die mir für jedes einzelne Projekt die Durchschnittsbewertung errechnet und hinterher zu einem Gesamtergebnis summiert?
Da sich alle Daten in einer DB befinden habe ich es erstmal so probiert:
ich bekomme allerdings nur eine fehlermeldung für die beiden mysql_fetch_row zeilen zurück:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result recource ....
ich kann allerdings keinen Fehler finden. Sieht vieleicht jemand von Euch woran es liegt?
Oder noch besser wäre es wenn es einen einfacheren Weg geben würde.
Danke schonmal vorher.
Ich bin ja relativ neu im Geschäft und versuche mir grad selber PHP beizubringen.
Jetzt stehe ich allerdings vor einem großen Problem:
Es geht um ein Formular, wo mehrere Punkterichter Projekte bewerten können.
Im 1. Feld wählt der Richter seinen Namen aus
im 2. Feld denjenigen, den er bewerten will,
im 3. das Projekt das er bewerten will und im letzten Feld trägt er die Punkte ein.
Nach dem Eintrag möchte ich gerne, daß der Richter die aktuelle Top10 angezeigt bekommt und da geht es mit meinem Problem los.
Jeder User hat mehr als ein Projekt ( theoretisch kann er jeden tag ein neues anmelden).
Nicht jeder Richter bewertet jedes Projekt. man kann ja mal eins übersehen oder was auch immer.
Wie bekomme ich jetzt eine Abfrage hin, die mir für jedes einzelne Projekt die Durchschnittsbewertung errechnet und hinterher zu einem Gesamtergebnis summiert?
Da sich alle Daten in einer DB befinden habe ich es erstmal so probiert:
PHP:
$ausg= "SELECT user, projekt
FROM bewertung";
while (list($user,$projekt) = mysql_fetch_row($ausg))
{
$user_a[$i]=$user;
$projekt_a[$i]=$projekt;
$i++;
}
// zählen der Bewertungen pro Projekt
for ( $x="0" ; $x<=$i ; $x++ )
{
for ( $y="0" ; $y<=$i ; $y++ )
{
if ( $user_a[$x]==$user_a[$y] && $projekt_a[$x]==$projekt_a[$y] )
{
$counter[$x]++;
$user_a[$y]=$x; // um Doppelzählungen auszuschließen
}
}
}
$end_ausg= "SELECT user, SUM (punkte) AS punkte
FROM bewertung
GROUP BY user
ORDER BY punkte DESC";
while (list($user_b,$punkte) = mysql_fetch_row($end_ausg))
{
$z++;
for ( $x="0" ; $x<=$i ; $x++ )
{
if ( $user_b==$user_a[$x] )
{
$punkte=$punkte/$counter[$x];
}
}
echo "Platz ($z) - $user_b hat $punkte.";
}
ich bekomme allerdings nur eine fehlermeldung für die beiden mysql_fetch_row zeilen zurück:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result recource ....
ich kann allerdings keinen Fehler finden. Sieht vieleicht jemand von Euch woran es liegt?
Oder noch besser wäre es wenn es einen einfacheren Weg geben würde.
Danke schonmal vorher.