dedlfix: Paging mit Limit-Klause

Beitrag lesen

Hi!

Dazu will ich die Anzahl der Seiten anhand count('spalte_wo_immer_was_drinsteht') ermitteln, durch meine Vorgabe (z.B. 20 Records/Page) ganzzahlig teilen, was dann ggf. zu einem zweiten Limit-Wert führt, der größer ist als die Anzahl der Records im Set. Mein erster Test auf der Konsole wirft zwar keinen Fehler, aber ich möchte sicher gehen, dass da nicht irgendwo (andere Umgebung, andere myVersion) ein error_log geschrieben wird.

Was bedeutet andere Umgebung? Selbst für eine zukünftige andere MySQL-Version kann man keine Garantie geben, aber diesbezüglich (s.u.) wird sich vermutlich nichts ändern.

Frage also: Aufrunden oder den Rest exakt bestimmen für die Limit-Klause?

Das ist der LIMIT-Klausel egal. Es gibt im Handbuch zu SELECT eine Empfehlung, den rowcount-Parameter auf einen utopisch hohen Wert zu setzen, wenn man ab einer bestimmten Position an den Rest haben will. Man muss also nicht vorher zählen.

Ich würde noch nicht einmal das das Offset prüfen und es einfach aus der übertragenen Seitennummer mal Datensätze pro Seite berechnen und das Limit fest auf Datensätze pro Seite stellen. Wenn dabei versucht wird, in einem nicht vorhandenen Bereich abzufragen, gibts nur ein leeres Ergebnis, nichts weiter.

Lo!