要實現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分頁功能,實現分頁邏輯的復用和可維護性。