12.14 Paginierte Links für eine Reihe von Datensätzen generieren

Problem

Sie möchten eine große Ergebnismenge Seite für Seite anzeigen, wobei Links zum Durchblättern der Datenmenge dienen.

Lösung

Verwenden Sie die PEAR-Klasse DB_Pager:

require 'DB/Pager.php'; $offset = intval($_REQUEST['offset']); $per_page = 3; $sth = $dbh->limitQuery('SELECT * FROM zodiac ORDER by id', $offset, $per_page); // Alle Zeilen dieser Seite anzeigen. while ($v = $sth->fetchRow()) { print "$v->sign, $v->symbol ($v->id)<br>"; } $data = DB_Pager::getData($offset, $per_page, $sth->numRows()); // Ein Link auf die vorhergehende Seite. printf('<a href="%s?offset=%d">&lt;&lt;Zurück</a> |', $_SERVER['PHP_SELF'],$data['prev']); // Direkte Links zu allen Seiten. foreach ($data['pages'] ...

Get PHP 5 Kochbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.