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中文网其他相关文章!