peterujah / pagination
Pagination - 简单的PHP库,用于生成网站分页
1.7
2024-04-24 00:38 UTC
Requires
- php: ^7.0 || ^8.0
README
Pagination 是一个简单的包,可以生成用于在列表页面之间导航的 HTML。
它接受参数值,包括要生成的导航类型和列表中的总条目数。
该类生成带有链接的 HTML,允许用户点击并转到其他列表页面,同时考虑当前列表页码。
类的导航可以是链接列表,也可以是指向每个列表页面的链接组。
开发者可以使用自定义 CSS 样式或 Bootstrap 分页来配置导航的显示方式。
安装
通过 Composer 安装非常简单
composer require peterujah/pagination
用法
Pagination 可以用作 HTML 链接或 HTML 无序列表
use Peterujah\NanoBlock\Pagination; $paging = new Pagination($rowCount, Pagination::LIST); $paging = new Pagination($rowCount, Pagination::LINK);
数组输出
$paging = new Pagination(100, Pagination::LIST); $paging->setLimit(20); $paging->setCurrentPage($_GET["page"]??1)->show();
$paging = new Pagination(100, Pagination::LIST); $paging->setLimit(20); $html = $paging->setCurrentPage($_GET["page"]??1)->get();
使用内置的 CSS 样式,仅与 $paging->show()
方法一起使用
$paging->setAllowCss(true);
常量
初始化选项 new Pagination($rowCount, Pagination::LINK)
方法
完整使用示例
示例:指定表中总行数 findTotalUsers :(int)
,然后选择每页显示的项目数量 findUsers(startOffset, limitPerPage)
use Peterujah\NanoBlock\Pagination; // Configure page limit $queryLimit = 30; $queryPage = $_GET["n"]??1; $queryStart = ($queryPage - 1) * $queryLimit; // Query your database table $users = (object) array( "users" => $conn->findUsers($queryStart, $queryLimit), "rowCount" => $conn->findTotalUsers() ); // Initialize Pagination $paging = new Pagination($users->rowCount, Pagination::LIST); $paging->setLimit($queryLimit); $paging->setCurrentPage($queryPage); // Display your contents foreach($users->users as $row){ echo "<div>{$row->userFullname}</div>"; } // Add pagination buttons echo "<nav aria-label='Page navigation'>"; echo $paging->get(); echo "</nav>";