Simple PHP database paging script
When dealing with large amounts of data, paging functionality is crucial to effectively organize and present information. Here is an easy-to-understand PHP pagination script to help you accomplish this task.
Core concept:
The script determines the total number of items in the database and then calculates the number of pages required to display all items based on predefined limits. It calculates the offset of the current page and displays information about the current page, such as the starting and ending line numbers.
Example implementation:
The following code example demonstrates PHP pagination scripts in action:
<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 ""; } ?>
The above is the detailed content of How to Implement Simple PHP Pagination for Database Results?. For more information, please follow other related articles on the PHP Chinese website!