Heim > Datenbank > MySQL-Tutorial > Wie implementiert man eine einfache PHP-Paginierung für Datenbankergebnisse?

Wie implementiert man eine einfache PHP-Paginierung für Datenbankergebnisse?

Mary-Kate Olsen
Freigeben: 2025-01-21 19:01:11
Original
346 Leute haben es durchsucht

How to Implement Simple PHP Pagination for Database Results?

Einfaches PHP-Datenbank-Paging-Skript

Beim Umgang mit großen Datenmengen ist die Paging-Funktionalität von entscheidender Bedeutung, um Informationen effektiv zu organisieren und darzustellen. Hier ist ein leicht verständliches PHP-Paginierungsskript, das Ihnen bei der Bewältigung dieser Aufgabe hilft.

Kernkonzept:

Das Skript ermittelt die Gesamtzahl der Elemente in der Datenbank und berechnet dann anhand vordefinierter Grenzwerte die Anzahl der Seiten, die erforderlich sind, um alle Elemente anzuzeigen. Es berechnet den Versatz der aktuellen Seite und zeigt Informationen über die aktuelle Seite an, z. B. die Anfangs- und Endzeilennummern.

Beispielimplementierung:

Das folgende Codebeispiel demonstriert PHP-Paginierungsskripte in Aktion:

<code class="language-php"><?php 
// 数据库连接和查询
$dbh = new PDO(...);
$total = $dbh->query('SELECT COUNT(*) FROM table')->fetchColumn();

// 分页设置
$limit = 20;
$pages = ceil($total / $limit);
$page = min($pages, filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT, array(
    'options' => array(
        'default' => 1,
        'min_range' => 1,
    ),
)));
$offset = ($page - 1) * $limit;

// 分页显示
$start = $offset + 1;
$end = min(($offset + $limit), $total);
$prevlink = ($page > 1) ? '<a href="?page=1">首页</a> <a href="?page=' . ($page - 1) . '">上一页</a>' : '« ‹';
$nextlink = ($page < $pages) ? '<a href="?page=' . ($page + 1) . '">下一页</a> <a href="?page=' . $pages . '">尾页</a>' : '› »';
echo "<div><p>此脚本根据数据库结果动态计算分页,提供了一种用户友好的方式,可以一次一页地浏览大型数据集。</p></div>";
echo "<div>显示{$start}到{$end}条记录,共{$total}条记录,共{$pages}页</div>";
echo "<div>{$prevlink} {$nextlink}</div>";

// 查询并显示分页数据
$stmt = $dbh->prepare("SELECT * FROM table LIMIT :limit OFFSET :offset");
$stmt->bindParam(':limit', $limit, PDO::PARAM_INT);
$stmt->bindParam(':offset', $offset, PDO::PARAM_INT);
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    // 显示数据
    echo "<pre class="brush:php;toolbar:false">";
    print_r($row);
    echo "
"; } ?>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie implementiert man eine einfache PHP-Paginierung für Datenbankergebnisse?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage