Wer für seine Website so viele Datensätze hat, dass man kaum noch einen Überblick hat, sollte Pagination anwenden. Da PHP mit MySQL so schön harmoniert ist dies auch mit wenigen Code-Zeilen ganz einfach machbar.

Anwendung

Für dieses Beispiel habe ich mir die Shop-Software ONYX ausgesucht, an der ich gerade arbeite. Ich habe mehrere Artikel – Fast 100 Stück. Also möchte ich gerne 25 Stück pro Seite anzeigen lassen. Wichtig ist, dass wir hier mit Seiten (Also 1, 2, 3, …) arbeiten.

$page = 1; //Zuerst setzen wir $page auf 1, damit die Var nicht leer ist.
//Mit dieser kleinen Abfrage prüfen wir, ob die Seite "page" gesetzt ist.
if(!empty($_GET['page'])) {
    $page = filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT);
    if(false === $page) {
//Ist dies nicht der Fall, lassen wir sie auf 1.
        $page = 1;
    }
}

Mit dem oben gezeigten Script sichern wir unsere spätere Abfrage ab. Es dürfen nur Zahlen in der „page“-Variable vorhanden sein. Und egal was passiert – wir haben für unsere Abfrage IMMER eine Seitenzahl.

// Jetzt können wir uns die Anzahl der Einträge pro Seite eingeben.
// Das kann man natürlich auch in eine weiter $_GET Var schreiben.
$items_per_page = 25;

// Der Offset dient nun zur Berechnung für die Abfrage
$offset = ($page - 1) * $items_per_page;
//Anschließend fragen wir mit einem simplen LIMIT die Einträge ab.
$sql = "SELECT * FROM `articles` LIMIT " . $offset . "," . $items_per_page;

Zum Schluss geben wir mit einer „fetch-array“-Funktion die Daten ab und zeigen Sie in schönem HTML an. Und schon haben wir ein funktionierendes Paginating für unsere Seite.

Bei Fragen stehen wir Ihnen gerne zur Verfügung. Nutzen Sie einfach das Kontakt-Formular oder klicken Sie hier.

 

Bildnachweise

Beitragsbild: http://codingsupply.com

Lukas Dörr

Fachinformatiker Anwendungsentwicklung Plesk Enthusiast, YouTuber, Twitterer und Gamer