PHP 分頁:一個簡單的腳本
簡介
經常有效管理Web 應用程式的資料涉及實現分頁以將大量資料劃分為可管理的頁面。本文提供了一個在 PHP 中啟用分頁的基本腳本。
PHP 分頁腳本
為了避免在不同的頁面上重複相同的程式碼,我們結合使用 HTML 和PHP。腳本如下:
<?php try { // Count total database rows $total = $dbh->query('SELECT COUNT(*) FROM table')->fetchColumn(); // Set pagination parameters $limit = 20; $pages = ceil($total / $limit); // Get current page number $page = filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT, ['options' => ['default' => 1, 'min_range' => 1]]); // Calculate query offset $offset = ($page - 1) * $limit; // Display pagination information $start = $offset + 1; $end = min(($offset + $limit), $total); $prevlink = ($page > 1) ? '<a href="?page=1" title="First page">«</a> <a href="?page=' . ($page - 1) . '" title="Previous page">‹</a>' : '<span class="disabled">«</span> <span class="disabled">‹</span>'; $nextlink = ($page < $pages) ? '<a href="?page=' . ($page + 1) . '" title="Next page">›</a> <a href="?page=' . $pages . '" title="Last page">»</a>' : '<span class="disabled">›</span> <span class="disabled">»</span>'; // Prepare paged query $stmt = $dbh->prepare(' SELECT * FROM table ORDER BY name LIMIT :limit OFFSET :offset '); $stmt->bindParam(':limit', $limit, PDO::PARAM_INT); $stmt->bindParam(':offset', $offset, PDO::PARAM_INT); $stmt->execute(); // Display results if ($stmt->rowCount() > 0) { $stmt->setFetchMode(PDO::FETCH_ASSOC); $iterator = new IteratorIterator($stmt); foreach ($iterator as $row) { echo '<p>' . $row['name'] . '</p>'; } } else { echo '<p>No results could be displayed.</p>'; } } catch (Exception $e) { echo '<p>' . $e->getMessage() . '</p>'; } ?>
結論
該腳本採用 HTML 和 PHP 動態顯示多個頁面的數據,為用戶提供無縫且直觀的瀏覽體驗。
以上是如何為Web應用程式實作簡單的PHP分頁?的詳細內容。更多資訊請關注PHP中文網其他相關文章!