ʫ

Sie haben den Artikel erfolgreich in den Warenkorb gelegt.
Was möchten Sie als nächstes tun?

Weiter einkaufen Zur Kasse

Blättern mit MySQL und LIMIT

Wer mit PHP und MySQL programmiert, kommt über kurz oder lang zu langen Listen, die mit einer Blätterfunktion dargestellt werden müssen. Dies bedeutet - Sie haben eine Anzahl von Datensätzen von Ihrer MySQL Abfrage, die nicht auf eine Seite passt, beispielsweise 100. Sie möchten aber nun lediglich 10 pro Seite anzeigen, innerhalb von logischerweise 10 Seiten. Wie macht man das am besten mit MySQL?

Problematik - Blätterfunktion mit MySQL mit der SQL Abfrage realisieren

Sie haben zwei Varianten - eine elegante und eine nicht so elegante Möglichkeit. Entweder selektieren Sie immer alle 100 Datensätze und innerhalb Ihrer PHP Schleife dann schauen, dass Sie nur die Datensätze einblenden, die gerade Seitentechnisch selektiert sind, oder Sie rufen mit Ihrer MySQL Abfrage nur diese Datensätze auf, die Sie gerade für die jeweiligen Seite benötigen (das ist elegant).

Lösung - blättern durch SQL Recordsets mit MySQL

Damit Sie sich schwierige Berechnungen innerhalb einer PHP Schleife sparen können und vor allem den MySQL Server entlasten können, so sollten Sie immer nur diese Datensätze selektieren, die Sie gerade brauchen. Hierzu kommt die MySQL Funktion LIMIT, die MySQL spezifisch ist und unter anderen SQL Engines nicht nur bedingt vorkommt:

SELECT ID, Name FROM Tabelle LIMIT 20,10

Was sagt obige Abfrage? Bitte gebe mir 10 Datensätze, startend vom Datensatz 20. Dies ist eine Möglichkeit, wenn Sie für 100 Datensätze mit jeweils 10 Datensätze pro Seite haben, gerade die Seite 3 aufzurufen. LIMIT 0,20 gibt Ihnen die ersten 20 Datensätze einer Abfrage - die erste Parameter-Zahl ist der Beginn, startend von 0 und die zweite Parameter-Zahl ist die Anzahl der zurückgegebenen Datensätzen.

Das ist alles - mit MySQL LIMIT können Sie nun alles so gestalten, wie Sie möchten.

û