Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#5

Re: [MySQL] Rangliste

  Alt 20. Mai 2005, 15:07
Hallo faux,

wenn du das Ganze in PHP machst, kannst du dir mit einem Trick helfen, denn mit SQL geht das AFAIK nicht. Nehmen wir an deine Datensätze sind nun in einem assoziativen Array gespeichert, und zwar nach Test sortiert (siehe vorherigen Beitrag). Die Spalte 'id' speichert die Datensatz-ID ebenso für alle anderen Spalten (eben so wie du ein Array von MySQL zurückbekommst )

Nun lässt du gleich nach dem Query eine Schleife drüberlaufen:
$indexarray = array();
Code:
for ($i = 0; $i < count($deinarray); $i++)
{
  $indexarray[$deinarray['id']] = $i;
}
Nun kannst du die Positon im array des Datensatzes mit einer bestimmten ID erfragen:
Code:
$someindex = $indexarray[736];
Wichtig: dieser Trick ist nur schneller wenn du mehr als 1 Position überprüfen musst. In dem Fall bist du gleich schnell, direkt übers array zu laufen und abzufragen. Bei mehreren Abfragen ist es so aber definitiv schneller.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat