Durchzählen TOP-Liste in PHP und MySQL

Bash, Shell, PHP, Python, Perl, CGI
metrix
Posts: 94
Joined: 2002-10-26 15:52

Durchzählen TOP-Liste in PHP und MySQL

Post by metrix »

Hallo,

ich habe eine Bestenliste mit 300 Ergebiszeilen, die ich aus 20.000 Datensätzen zusammenbaue aus mehreren Tabellen. Wenn man diese Bestenliste durchschaut, wird einfach durchgezählst... Sprich 1-300...

Nun möchte ich eine Suche bauen, die in der Bestenliste sucht nach einem Ergebnisdatensatz. Soweit kein Problem.

Jetzt möchte ich aber zu diesem einen Ergebnisdatensatz noch zusätzlich ausgeben, auf welchem Platz er in meiner Bestenliste steht. Sprich: z.B. 213 von 300.

Wie mache ich das am besten, ohne jedesmal alle 300 datensätze durchlaufen zu lassen und zu zählen? bzw. wie hole ich da noch das maximale an Performance raus?


Danke.
kahler
Posts: 130
Joined: 2003-04-18 17:42
Location: /root

Re: Durchzählen TOP-Liste in PHP und MySQL

Post by kahler »

Guck dir Mal im mySQL Manual die Funktion COUNT an: http://www.mysql.com/doc/en/Counting_rows.html
metrix
Posts: 94
Joined: 2002-10-26 15:52

Re: Durchzählen TOP-Liste in PHP und MySQL

Post by metrix »

die Funktion ist mir bekannt. Nur entweder habe ich gerade nen Brett vorm Kopf oder das geht damit net ;-)
thorsten
Posts: 561
Joined: 2003-02-01 13:14
Location: Fuldatal

Re: Durchzählen TOP-Liste in PHP und MySQL

Post by thorsten »

wie wäre es, wenn du deinen Versuch postest?
Anhand deines Codes könnte man wesentlich einfacher Vorschläge machen.
metrix
Posts: 94
Joined: 2002-10-26 15:52

Re: Durchzählen TOP-Liste in PHP und MySQL

Post by metrix »

Hi, es gibt bisher keinen konkreten Versuch da mir absolut der Ansatz fehlt.

Hier mein Query:
SELECT DISTINCT uptime.uid,user.benutzer,user.zeit AS regzeit,uptime.uptime,uptime.os FROM uptime,user WHERE uptime.old=0 AND user.id=uptime.uid ORDER BY uptime.uptime DESC

Daraus baut er sich aus den ganzen Datensätzen eine Bestenliste zusammen. Nun möchte ich in der Suche Quasi sagen, WHERE benutzer=Eingabe und er soll mir die Platzierung ausspucken, auf welchem Rang der Benutzer wäre, wenn ich wie oben alle Ergebnisse ausgeben lassen würde.
impulz
Posts: 22
Joined: 2002-10-22 17:08
Location: Paderborn

Re: Durchzählen TOP-Liste in PHP und MySQL

Post by impulz »

Hm.. du koenntest ueber ne where klausel die anzahl der datensaetze ermitteln, die mehr punkte hat als der gesuchte user (count(uid) from .. where (berechnung) > (berechnung_gesuchter_user).

Das koennte u.U. klappen.