2012-02-21 36 views
2

我正在使用codeigniter分页库来页面我的搜索结果。我正在使用限制和偏移来生成结果。如何使用codeigniter分页库回显页码?

我想知道,除了在分页链接,呼应用户当前正在查看的页面的数量。

例如;

您正在查看第X页X结果。

这怎么可能?

回答

3

您可以扩展分页类(system/libraries/Pagination.php)。

创建一个名为MY_Pagination.php文件,并把它应用/库/

将此代码添加到您的扩展分页类;

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'; 
    } 
} 

不要忘记,以确保类扩展前缀正确设置为MY_的config.php(约合线109)

然后你就可以在你的控制器就像访问;

$current = $this->pagination->current_place(); 

您可以将其传入您的视图。

+0

从来没有破解的核心libraries..you只能延长他们 – Henesnarfel 2012-02-21 13:15:43

+0

@Henesnarfel - 已经改变了回答删除'黑客'评论。现在显示通过扩展本地库, – Rooneyl 2012-02-21 13:27:01

0

取决于你如何设置偏移量。我们设置了perpage的偏移量。所以我们的默认值是每页10个。所以对于第一页,偏移量是0.对于第二页,偏移量是10,依此类推。因此,为了获得当前页面,我将偏移除以当前限制加上1.因此,($cur_page/$per_page)+1将使我成为当前页面。

+0

您是否介意更详细?因为我试过'($ cur_page/$ per_page)+ 1',但它不起作用 – deathlock 2013-08-22 10:34:39

3

这也给当前页面没有

$currentPage = floor(($this->uri->segment(n)/$config['per_page']) + 1); 

其中n是段

echo "Current Page:".$currentPage; 
+0

感谢您的支持,它对我很有用。 – user1149244 2013-01-06 04:39:40

+0

它说,消息:使用未定义的常量n - 假定'n':/ – deathlock 2013-08-22 10:01:28

+0

hello @deathlock在'n'的地方,您需要传递段号,用段替换'n'号 – 2013-08-22 11:59:14