Thread Bestenliste besser (5 answers)
Opened by ppm1 at 2003-11-05 22:04

GH@NDI
 2003-11-05 23:23
#69572 #69572
User since
2003-09-21
16 Artikel
BenutzerIn
[Homepage] [default_avatar]
Kann mich Geewiz nur anschließen, sofern es sich um MySQL dreht oder ein anderes RDBMS das LIMIT oder eine equivalente Funktion kennt, sollte die bei sowas genutzt werden.

Im Falle von MySQL sähe das dann so aus:
Code: (dl )
my $query = "SELECT name,punkte,id FROM user ORDER BY punkte DESC LIMIT $platz, 10";


Was evtl. auch noch eine Lösung sein könnte, vorrausgesetzt es handelt sich nicht um zuviele Datensätze, könnte man einfach das komplette Ergebnis in einen Array packen und dann per:
Code: (dl )
1
2
3
4
5
6
7
my @daten = <DATENBANKRÜCKGABE>;
my $start = $platz; # Startplatz
my $ende = $start + 10; # Endplatz

foreach($daten[$start..$ende]) {
# tadaaa :)
}


Dabei kommts halt drauf an, wieviel Arbeitsspeicher zur verfügung steht...hab grade mal getesten, mein Perl (ActivePerl 5.8.0, Win2k) braucht bei einem Array mit 100.000 Einträgen und je 512Byte Daten immerhin schon 57MB Arbeitsspeicher ;)
Bei 10.000 Einträge sinds aber vertragbare 8MB :)

View full thread Bestenliste besser