MySQLi PHP-Abfrage mit limit

Die Anzeige reduzieren

Mit select haben wir schon viele Beispiele durchgeführt, wie man Daten abfragen kann, mit dem where-Filter haben wir die Anzeigen spezialisiert und mit order by konnte auch eine Sortierung durchgeführt werden. Es fehlt aber eine weitere Funktion, die bei PHP-Projekte, die mit MySQLi arbeiten, oft gebraucht wird: ein Mengenlimit.

Denn es kann Tabellen mit richtig vielen Datensätzen geben und die muss man reduzieren, sonst sprengt man die Darstellung bei angenommenen 1.000 Datensätzen. Das macht Sinn bei der Darstellung im Gästebuch, aber auch bei Blätterfunktionen, wie sie sehr oft auf Webseiten zu finden sind.

Select-Abfrage mit limit unter PHP

$sql = "select * from adressen";
    if($result = $mysqli->query($sql)) {
    while($obj = $result->fetch_object()) {
                     echo "

".$obj->vorname." ".$obj->nachname."

";
                    }
    } else { echo mysqli_error($mysqli);exit; }

Der Ausgangspunkt ist die normale Abfrage aller Datensätze der Tabelle adressen.

$sql = "select * from adressen limit 12";
    if($result = $mysqli->query($sql)) {
    while($obj = $result->fetch_object()) {
                     echo "

".$obj->vorname." ".$obj->nachname."

";
                    }
    } else { echo mysqli_error($mysqli);exit; }

Mit dem einfachen Zusatz limit 12 wird mitgeteilt, dass nur 12 Datensätze herausgefunden werden sollen. Das bedeutet bei dieser Abfrage, dass alle weiteren Informationen nicht mehr präsentiert werden. Das kann zum Beispiel Sinn machen, wenn man nach einem Datum absteigend sortieren lässt und die letzten 12 Einträge braucht. Das kann auch bei den letzten 5 Newsbeiträgen interessant sein. Anwendungsbeispiele für diese Variante gibt es daher reichlich.

Häufiger Einsatz beim Blättern

Man kennt das Blättern von der Google Suchmaschine, die auf der ersten Seite 10 Suchergebnisse anbietet, obwohl es Millionen Möglichkeiten geben kann. Auch hier wird mit limit gearbeitet - oder einer ähnlichen Technik. Man kann dies auch für die eigene Webseite nutzen, indem limit erweitert wird.

Möglich ist dies durch die Abfrage select * from adressen limit seite, menge also

select * from adressen limit 60, 20

wenn man pro Seite 20 Einträge haben will und auf der dritten Seite sich befindet. 20 x 3 = 60 und daher 60,20 als Vorgabe. Man wird in der Praxis aber nicht mit Zahlen arbeiten, sondern mit Variabeln und die fragen ab, wo man sich befindet und die Werte entsprechend bei der Abfrage eintragen. So kann man von Seite zu Seite blättern - im Gästebuch, im Forum, bei Kommentaren oder auch im Online-Shop von Produktseite zu Produktseite.

Lesen Sie auch

So richtig aus dem Vollen kann man dann schöpfen, wenn man die Programmiersprache PHP mit dem System der MySQLi-Datenbank verknüpft. Der SQL-Befehlssatz bleibt bestehen, wird aber durch die PHP-Umgebung ummantelt, damit beide kommunizieren können: die Datenbank weiß, was Sache ist und PHP versteht die Antwort. MySQL + PHP bedeutet, dass man direkt vom Skript aus auf die Daten zugreifen kann.

Die Grundvoraussetzung ist einmal das Anlegen einer Datenbank, was auch von PHP aus möglich ist und dann braucht es die Verbindung zur Datenbank.

Damit ist die Grundbasis gelegt und man kann Tabellen anlegen und die Daten speichern. Dabei kann mit mysqli_insert_id die aktuelle laufende Nummer für weitere Aktionen nützlich sein und wichtig ist das Verständnis mit mysqli_close, um nicht mehr gebrauchte Verbindungen zu beenden. Wichtig ist aber auch die richtige Schreibweise beim Arbeiten mit den Daten.

Das Herzstück ist aber die Abfrage. Zweifelsohne braucht man delete und andere Befehle auch, um zu manipulieren, aber mit select kann man verschiedenste Abfragen durchführen wie nach Kriterium, Menge oder auch als Stringabfrage samt Sortierungsangabe.

Diesen Artikel teilen

Kategorien

Grundlagen
HTML-Grundlagen
CSS-Grundlagen
Javascript-Grundlagen
PHP-Grundlagen
MySQL-Grundlagen
SEO-Grundlagen

Infos, Tipps, Vermarktung
Webdesign-Lexikon
Online-Werbung
PHP-Codeschnipsel