Manuel Böttcher: Seitencounter ohne 2 SQL Abfragen?

Beitrag lesen

Hallo Allerseits, ich stehe mit einem Problem irgendwie im Wald..

Beispiel:
Ich habe eine mysql Tabelle mit sagen wir mal x tausend Einträgen und
will die 2000 haben deren Wert im TabFeld 'A'>500 ist.
(Nur so als Beispiel)

Das ganze soll seitenweise dargestellt werden, sagen wir 50 Einträge
je Seite. Um die Seitenzahlen zum Blättern zu berechnen brauche ich
die Gesamtzahl aller relevanten Datensätze, also:

select count(*) from tabelle where A>'500'

Da ich nun nur 50 Sätze ausgeben will muss ich noch ein zweites mal
die selbe Abfrage machen, diesmal mit der Limit Klausel, also:

select name from tabelle where A>'500' limit $aktueller_seitenzaeler, 50

Das funkt auch alles und ist nicht mein tatsächliches Problem.
Ich weiß auch das ich die Limit Klausel sparen könnte und den Gesamt-Counter
aus der Anzahl der im Ergebnis enthaltenen Datensätze ziehen kann und ich dann aus dem Gesamt-Datenrecord nur die Sätze
$aktueller_seitenzaehler bis 50 auslese. Somit würde ich mir die Abfrage
des Counters sparen.
Diese Variante mißfällt mir jedoch da das Datenrecord, deswegen mein Beispiel,
sehr groß sein kann und Sätze enthält die ich
eigentlich nicht zur Darstellung brauche.

Bei meinem aktuellen Projekt kommt noch hinzu das die SQL Anfrage
sehr komplex ist - und demzufolge auch die Datenbank ein wenig mehr
beschäftigt ist weswegen ich einen Weg suche die doppelte Anfrage, nur des
Counters wegen, zu umgehen.

Mit fällt nichts mehr ein.. :-(
Vielleicht habt ihr eine Idee, wäre toll, aber ich fürchte das
es keinen anderen Weg gibt?

Manuel