Orakel
Erfahrenes Mitglied
MySQL: Highscoreliste mit Anzeige des Aktuellen Users "on Top"
Hallo zusammen,
Also ich hab schon versucht mittels der Suchfunktion was zu finden, war aber leider nicht erfolgreich.
Ich möchte eine Highscoreliste erstellen, bei der die Werte des aktuellen Benutzers on Top angezeigt werden. Das Problem liegt daran, dass die Liste nach verschiedenen Spalten sortiert werden kann, und trotz unterschiedlicher Sortierung der Rang des aktuellen Benutzers entsprechend der gewählten Sortierung korrekt und immer an erster Stelle dargestellt werden soll.
Beispiel:
- Die Tabelle hat die Spalten Name, Level, gewonnen, verloren
- Nach jeder Spalte kann auf- und absteigend sortiert werden
- Es werden immer nur 100 Einträge aus der Tabelle angezeigt
- DB = MySQL
- Der aktuelle Rang wird nicht in der Tabelle gespeichert
Um die Liste mit 100 Einträgen anzuzeigen benutze ich ein einfaches SQL Statement (hier mal Metacode)
SELECT {Felder}
FROM {Tabelle}
ORDER BY {Sortierkriterium}
LIMIT {X}, 100
{X} ist abhängig von der aktuellen Seitenzahl
Der aktuelle Rang wird dann innerhalb des Scriptes anhand der aktuellen Seite errechnet.
Ist es möglich das SQL-Statement so zu erweitern, dass die erste Row die Daten des aktuellen Benutzers enthält, auch wenn die aktuell angezeigte Seite den Benutzer gar nicht auflisten würde, weil er nicht in diesem Rangrange liegt?
Danke für Eure Mühe
Hallo zusammen,
Also ich hab schon versucht mittels der Suchfunktion was zu finden, war aber leider nicht erfolgreich.
Ich möchte eine Highscoreliste erstellen, bei der die Werte des aktuellen Benutzers on Top angezeigt werden. Das Problem liegt daran, dass die Liste nach verschiedenen Spalten sortiert werden kann, und trotz unterschiedlicher Sortierung der Rang des aktuellen Benutzers entsprechend der gewählten Sortierung korrekt und immer an erster Stelle dargestellt werden soll.
Beispiel:
- Die Tabelle hat die Spalten Name, Level, gewonnen, verloren
- Nach jeder Spalte kann auf- und absteigend sortiert werden
- Es werden immer nur 100 Einträge aus der Tabelle angezeigt
- DB = MySQL
- Der aktuelle Rang wird nicht in der Tabelle gespeichert
Um die Liste mit 100 Einträgen anzuzeigen benutze ich ein einfaches SQL Statement (hier mal Metacode)
SELECT {Felder}
FROM {Tabelle}
ORDER BY {Sortierkriterium}
LIMIT {X}, 100
{X} ist abhängig von der aktuellen Seitenzahl
Der aktuelle Rang wird dann innerhalb des Scriptes anhand der aktuellen Seite errechnet.
Ist es möglich das SQL-Statement so zu erweitern, dass die erste Row die Daten des aktuellen Benutzers enthält, auch wenn die aktuell angezeigte Seite den Benutzer gar nicht auflisten würde, weil er nicht in diesem Rangrange liegt?
Danke für Eure Mühe
Zuletzt bearbeitet: