Tag zusammen.
Ich habe mich kürzlich etwas in PHP und SQL eingelesen und auch schon ein paar Tuts gemacht. Nun wollte ich etwas in eigener Sache machen. Dabei fiel meine Wahl auf ein Highscore-Script. Jenes soll folgendermaßen funktionieren:
1) Man kann neue Einträge setzen.
2) Man kann Spieler aus der Liste löschen
3) Man kann den Punktestand des Spielers Updaten (Es soll jeder Spieler nur 1 mal in der Liste vorkommen
Doch kommen wir mal zu dem eigentlichen Problem. Ich hab mir bei Tripod (Lycos) freien Webspace besorgt und dort eine MySQL Datenbank. Dort habe ich nun auch schon eine Tabelle und ein paar Testdatensätze eingefügt. Die Datensätze konnte ich auch erfolgreich auslesen. Allerdings habe ich mir gedacht das es ziemlich blöd ist wenn man immer selbst die Plazierung des Spielers angeben muss. Ich möchte also nur einen 'Namen', die 'Herkunft' und den 'Punkte'-stand eingeben. Also hab ich kurzerhand von "ORDER BY 'Punkte' DESC" gebrauch gemacht. Zusätzlich habe ich eine Variable $i deklariert. Jene ist erst auf '1' gesetzt und wird in einer Schleife um jeweils 1 erhöht. $i wir dann ausgegeben und die Daten werden an sich auch korrekt angezeigt. Das halte ich aber für eine unsaubere Lösung, denn wenn ich z.B. nach Spielernamen anstatt nach Punkten sortieren möchte, dann stimmen die Plazierungen ja nicht mehr überein. Also hab ich ein Feld 'Rang' in der Datenbank für die Platzierungen angelegt. Nur weiss ich nicht wie ich die Plätze korrekt zuordnen kann. Folgendes habe ich bereits gemacht.
Nur wie kriege ich das Ausgegebene von $i nun unter 'Rang' in meine Tabelle? Ich hab schon mit UPDATE einiges versucht, aber bin nach mehreren Stunden nur noch ratlos wie ich das Problem angehen soll.
Wäre nett wenn ihr mir unter die Arme greifen könntet.
Danke im voraus.
Ich habe mich kürzlich etwas in PHP und SQL eingelesen und auch schon ein paar Tuts gemacht. Nun wollte ich etwas in eigener Sache machen. Dabei fiel meine Wahl auf ein Highscore-Script. Jenes soll folgendermaßen funktionieren:
1) Man kann neue Einträge setzen.
2) Man kann Spieler aus der Liste löschen
3) Man kann den Punktestand des Spielers Updaten (Es soll jeder Spieler nur 1 mal in der Liste vorkommen
Doch kommen wir mal zu dem eigentlichen Problem. Ich hab mir bei Tripod (Lycos) freien Webspace besorgt und dort eine MySQL Datenbank. Dort habe ich nun auch schon eine Tabelle und ein paar Testdatensätze eingefügt. Die Datensätze konnte ich auch erfolgreich auslesen. Allerdings habe ich mir gedacht das es ziemlich blöd ist wenn man immer selbst die Plazierung des Spielers angeben muss. Ich möchte also nur einen 'Namen', die 'Herkunft' und den 'Punkte'-stand eingeben. Also hab ich kurzerhand von "ORDER BY 'Punkte' DESC" gebrauch gemacht. Zusätzlich habe ich eine Variable $i deklariert. Jene ist erst auf '1' gesetzt und wird in einer Schleife um jeweils 1 erhöht. $i wir dann ausgegeben und die Daten werden an sich auch korrekt angezeigt. Das halte ich aber für eine unsaubere Lösung, denn wenn ich z.B. nach Spielernamen anstatt nach Punkten sortieren möchte, dann stimmen die Plazierungen ja nicht mehr überein. Also hab ich ein Feld 'Rang' in der Datenbank für die Platzierungen angelegt. Nur weiss ich nicht wie ich die Plätze korrekt zuordnen kann. Folgendes habe ich bereits gemacht.
PHP-Code:
...
$i=1;
$abfrage = "SELECT Name, Punkte, Herkunft FROM tblToplist ORDER BY 'Punkte' DESC";
$ergebnis = mysql_query($abfrage);
?>
<table border=0, width='80%', align='center'>
<?php
while($row = mysql_fetch_object($ergebnis))
{
echo "<tr><td width='25%'>$row->Name<center></td>
<td width='25%'>$row->Punkte<center></td>
<td width='25%'><center>$row->Herkunft</td>
<td width='25%'>$i<center></td></tr>";
$i++;
};
?>
</table>
...
Wäre nett wenn ihr mir unter die Arme greifen könntet.
Danke im voraus.
Kommentar