当前位置:首页 > PHP

php实现分页类

2026-02-13 18:57:35PHP

php实现分页类

PHP 分页类实现

分页是 Web 开发中常见的功能,用于将大量数据分割成多个页面显示。以下是一个简单的 PHP 分页类实现,包含基本功能如数据分页、页码生成和样式控制。

php实现分页类

分页类代码

<?php
class Pagination {
    private $totalItems;       // 总记录数
    private $itemsPerPage;     // 每页显示记录数
    private $currentPage;      // 当前页码
    private $pageRange;        // 页码显示范围
    private $totalPages;       // 总页数
    private $url;              // 分页链接

    public function __construct($totalItems, $itemsPerPage = 10, $currentPage = 1, $pageRange = 5, $url = '') {
        $this->totalItems = $totalItems;
        $this->itemsPerPage = $itemsPerPage;
        $this->currentPage = $currentPage;
        $this->pageRange = $pageRange;
        $this->url = $url;
        $this->totalPages = ceil($totalItems / $itemsPerPage);
    }

    public function getPagination() {
        if ($this->totalPages <= 1) {
            return '';
        }

        $start = max(1, $this->currentPage - floor($this->pageRange / 2));
        $end = min($this->totalPages, $start + $this->pageRange - 1);

        $html = '<ul class="pagination">';

        // 上一页
        if ($this->currentPage > 1) {
            $html .= '<li><a href="' . $this->url . ($this->currentPage - 1) . '">上一页</a></li>';
        }

        // 页码
        for ($i = $start; $i <= $end; $i++) {
            $active = ($i == $this->currentPage) ? 'class="active"' : '';
            $html .= '<li ' . $active . '><a href="' . $this->url . $i . '">' . $i . '</a></li>';
        }

        // 下一页
        if ($this->currentPage < $this->totalPages) {
            $html .= '<li><a href="' . $this->url . ($this->currentPage + 1) . '">下一页</a></li>';
        }

        $html .= '</ul>';
        return $html;
    }
}
?>

使用方法

<?php
// 示例数据
$totalItems = 100;  // 总记录数
$itemsPerPage = 10; // 每页显示记录数
$currentPage = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$url = 'index.php?page=';

// 创建分页对象
$pagination = new Pagination($totalItems, $itemsPerPage, $currentPage, 5, $url);

// 显示分页
echo $pagination->getPagination();
?>

数据库查询示例

<?php
// 数据库分页查询
$db = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');
$offset = ($currentPage - 1) * $itemsPerPage;
$stmt = $db->query("SELECT * FROM table LIMIT $offset, $itemsPerPage");
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

// 显示数据
foreach ($rows as $row) {
    echo $row['id'] . ' ' . $row['name'] . '<br>';
}

// 显示分页
echo $pagination->getPagination();
?>

样式定制

可以自定义 CSS 样式来控制分页的外观:

.pagination {
    display: inline-block;
    padding: 0;
    margin: 20px 0;
}

.pagination li {
    display: inline;
    margin: 0 5px;
}

.pagination li a {
    color: #333;
    padding: 8px 16px;
    text-decoration: none;
    border: 1px solid #ddd;
}

.pagination li.active a {
    background-color: #4CAF50;
    color: white;
    border: 1px solid #4CAF50;
}

.pagination li a:hover:not(.active) {
    background-color: #ddd;
}

功能扩展

  1. 添加首页和末页:可以在分页中添加首页和末页链接,方便用户快速跳转。
  2. AJAX 分页:通过 JavaScript 实现无刷新分页,提升用户体验。
  3. 多语言支持:根据用户语言环境显示不同的分页文字。
  4. URL 美化:使用 URL 重写技术美化分页链接。

这个分页类提供了基本功能,可以根据实际需求进行扩展和定制。

标签: 分页php
分享给朋友:

相关文章

php实现搜索功能

php实现搜索功能

实现基本的搜索功能 在PHP中实现搜索功能通常涉及数据库查询。以下是一个简单的实现方式,假设使用MySQL数据库: <?php // 连接数据库 $conn = new mysqli('loc…

git php实现

git php实现

Git 与 PHP 的集成实现 使用 PHP 执行 Git 命令 通过 PHP 的 exec()、shell_exec() 或 passthru() 函数可以直接调用 Git 命令,适用于服务器端操作…

php 路由实现

php 路由实现

PHP 路由实现方法 在 PHP 中实现路由功能有多种方式,以下是几种常见的实现方法: 使用原生 PHP 实现 通过解析 URL 并匹配对应的控制器和动作: $request = $_SERVER…

vue实现分页条数

vue实现分页条数

Vue 实现分页条数控制 在 Vue 中实现分页条数控制通常需要结合分页组件和后端 API 支持。以下是几种常见的实现方式: 使用 Element UI 的分页组件 Element UI 提供了强大…

php实现上传图片

php实现上传图片

上传图片的基本流程 PHP 实现图片上传功能需要处理文件接收、验证、保存等步骤。以下是具体实现方法。 创建 HTML 表单 在 HTML 中创建一个表单,设置 enctype="multipart/…

php实现的分页

php实现的分页

PHP 实现分页的方法 基本分页逻辑 分页的核心在于计算总页数、当前页码以及数据偏移量。假设每页显示 10 条数据: $current_page = isset($_GET['page']) ? (…