Hallo,
mal wieder ich
Zur Erstellung einer Rangliste möchte ich folgende Berechnung durchführen:
zussamenaddierte Punkte * Anzahl der Punktplätze / Anzahl der Turnierteilnahmen.
Die dazugehörigen Abfragen sehen so aus:
Das Ganze gibt natürlich eine Fehlermeldung aus.
Wie kann ich das also umschreiben, dass er an der Stelle
zählt, wie häufig der betreffende Name Einträge in der Spalte punkte hat?
Und wie kann ich es umschreiben, dass er an der Stelle
zählt, wie häufig der betreffende Name Einträge in der Spalte punkte hat?
Oder gibt es für mein Problem eine elegantere Lösung, auf die ich nicht komme?
Anmerkung:
Ich habe noch große Probleme, mir die Darstellung der Ergebnisse aus der Datenbank korrekt vorzustellen.
Momentan stelle ich mir das so vor (als Beispiel wieder mein Code), dass $row als array ausgegeben wird, das so aussieht:
$row(name1[punkte], name2[punkte]) usw., usf..
Ist das korrekt so?
Und ab wann habe ich den Zugriff auf dieses fertige Array?
Ich stelle mir das so vor, dass ich das Array z.b. mit foreach NACH der while-schleife weitervearbeiten kann. Korrekt so?
mal wieder ich
Zur Erstellung einer Rangliste möchte ich folgende Berechnung durchführen:
zussamenaddierte Punkte * Anzahl der Punktplätze / Anzahl der Turnierteilnahmen.
Die dazugehörigen Abfragen sehen so aus:
PHP:
//name und dazugehörige punkte auslesen
$sql = "SELECT
name,
SUM(punkte) AS punkte
FROM
schmager
GROUP BY
name
ORDER BY
punkte DESC;
";
$result = mysql_query($sql) OR die(mysql_error());
//ausgegebene daten verarbeiten
while($row = mysql_fetch_array($result))
{
$i++;
echo "<tr>
<td align=\"center\">".$i."</td><td align=\"center\">".$row['name']."</td><td align=\"center\">".$row['punkte']."</td><td align=\"center\">".$row['punkte']*mysql_num_rows($result['punkte'])/mysql_num_rows($result['name'])."
</tr>";
}
Das Ganze gibt natürlich eine Fehlermeldung aus.
Wie kann ich das also umschreiben, dass er an der Stelle
PHP:
mysql_num_rows($result['punkte'])
Und wie kann ich es umschreiben, dass er an der Stelle
PHP:
mysql_num_rows($result['name'])
Oder gibt es für mein Problem eine elegantere Lösung, auf die ich nicht komme?
Anmerkung:
Ich habe noch große Probleme, mir die Darstellung der Ergebnisse aus der Datenbank korrekt vorzustellen.
Momentan stelle ich mir das so vor (als Beispiel wieder mein Code), dass $row als array ausgegeben wird, das so aussieht:
$row(name1[punkte], name2[punkte]) usw., usf..
Ist das korrekt so?
Und ab wann habe ich den Zugriff auf dieses fertige Array?
Ich stelle mir das so vor, dass ich das Array z.b. mit foreach NACH der while-schleife weitervearbeiten kann. Korrekt so?
Zuletzt bearbeitet: