【发布时间】:2012-03-11 16:30:31
【问题描述】:
我正在使用 codeigniter 分页库来分页我的搜索结果。我正在使用限制和偏移来生成结果。
我想知道除了在分页链接之外,如何回显用户当前正在查看的页面编号。
例如;
您目前正在查看第 X 页,共 Y 个结果。
这怎么可能??
【问题讨论】:
标签: codeigniter pagination numbers echo
我正在使用 codeigniter 分页库来分页我的搜索结果。我正在使用限制和偏移来生成结果。
我想知道除了在分页链接之外,如何回显用户当前正在查看的页面编号。
例如;
您目前正在查看第 X 页,共 Y 个结果。
这怎么可能??
【问题讨论】:
标签: codeigniter pagination numbers echo
这也给当前页面编号
$currentPage = floor(($this->uri->segment(n)/$config['per_page']) + 1);
其中n是段
echo "Current Page:".$currentPage;
【讨论】:
您可以扩展分页类 (system/libraries/Pagination.php)。
创建一个名为 MY_Pagination.php 的文件并将其放入 application/libraries/
将此代码添加到扩展分页类;
class MY_Pagination extends CI_Pagination {
public function __construct() {
parent::__construct();
}
public function current_place() {
return 'You are currently viewing page '.$this->cur_page.' out of '.ceil(($this->total_rows/$this->per_page)). 'results';
}
}
不要忘记确保在 config.php 中将类扩展前缀正确设置为 MY_(大约第 109 行)
然后你可以在你的控制器中访问它;
$current = $this->pagination->current_place();
您可以将其传递到您的视图中。
【讨论】:
取决于您如何设置偏移量。我们的设置是每页的偏移量。所以我们的默认值是每页 10 个。因此,对于第一页,偏移量为 0。对于第二页,偏移量为 10,依此类推。因此,对于我来说,要获取当前页面,我会将偏移量除以当前限制加 1。所以($cur_page/$per_page)+1 将获取当前页面。
【讨论】:
($cur_page/$per_page)+1 但它不起作用