Home > Database > Mysql Tutorial > How to Implement Simple PHP Pagination for Database Results?

How to Implement Simple PHP Pagination for Database Results?

Mary-Kate Olsen
Release: 2025-01-21 19:01:11
Original
328 people have browsed it

How to Implement Simple PHP Pagination for Database Results?

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 "
"; } ?>
Copy after login

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!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template