要实现PHP分页封装和调用,可以自定义一个分页类来处理分页逻辑。下面是一个简单的示例代码,展示了如何实现PHP分页封装和调用:
class Pagination {
private $totalRecords;
private $recordsPerPage;
private $currentPage;
public function __construct($totalRecords, $recordsPerPage, $currentPage) {
$this->totalRecords = $totalRecords;
$this->recordsPerPage = $recordsPerPage;
$this->currentPage = $currentPage;
}
public function getTotalPages() {
return ceil($this->totalRecords / $this->recordsPerPage);
}
public function getOffset() {
return ($this->currentPage - 1) * $this->recordsPerPage;
}
public function generatePageLinks() {
$totalPages = $this->getTotalPages();
$links = '';
for ($i = 1; $i <= $totalPages; $i++) {
if ($i == $this->currentPage) {
$links .= '<strong>' . $i . '</strong> ';
} else {
$links .= '<a href="?page=' . $i . '">' . $i . '</a> ';
}
}
return $links;
}
}
// 使用示例
$totalRecords = 100;
$recordsPerPage = 10;
$currentPage = isset($_GET['page']) ? $_GET['page'] : 1;
$pagination = new Pagination($totalRecords, $recordsPerPage, $currentPage);
$offset = $pagination->getOffset();
$pageLinks = $pagination->generatePageLinks();
// 输出分页链接
echo $pageLinks;
在上面的示例中,首先定义了一个Pagination类,该类包含了总记录数、每页记录数和当前页码等属性,并提供了计算总页数、获取偏移量和生成分页链接的方法。然后在使用示例中,根据用户传入的总记录数、每页记录数和当前页码,实例化Pagination类,并调用其中的方法生成分页链接。最后将生成的分页链接输出到页面上。
通过这种方式,可以简单的封装和调用PHP分页功能,实现分页逻辑的复用和可维护性。