如何使用codeigniter显示分页信息 [英] how to show pagination information using codeigniter
问题描述
我想在我的网页中显示分页资讯。
like this 下表显示17本书中的0-8本
i want to show pagination information in my page. like this Below table is showing 0-8 books out of 17 books
在评论和答案我试图解决我的问题。但仍然有问题。
As explained below in comments and answer i tried to fix my problem. But still i have problem.
-
无法获得
cur_page
值。我试过
$ CI =& get_instance();
但这是给我一个
$ curpage = $ CI-> pagination-> cur_page;
零值。
Unable to get the
cur_page
value. I tried$CI =& get_instance(); $curpage=$CI->pagination->cur_page;
But this is giving me a
zero value.
如果我为 cur_page
提供手动值。说$ cur_page = 3,我的总记录是17.然后在最后一页(即3)显示错误信息,显示17本书中的24-17页
if i supply manual value for cur_page
. say $cur_page=3, and my total record is 17. Then at the last page(i.e 3) it is showing wrong information showing 24-17 of 17 books
请帮助我解决这个问题吗?
Please help me to fix this problem?
<?php echo "displaying $result_start to $result_end of $total";?>
在控制器中
$config = array();
$config['base_url'] = base_url().'viewallbooks/books/pgn/';
$config["total_rows"] = $this->Booksmodel->record_count_for_secondtopBooks('3');
$config['uri_segment'] = 4;
$config['per_page'] = 8;
$config['full_tag_open'] = '<div id="pagination">';
$config['full_tag_close'] = '</div>';
$this->pagination->initialize($config);
$page = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0;
$data["query"] = $this->Subjectmodel->get_subjects();
$data["query1"]= $this->Editionmodel->get_edition();
/*
* For showing the "showing 8-16 of 23 data
*/
$data["flimit"]=$config["per_page"];
$data["slimit"]=$page;
$data["trows"]= $config["total_rows"] ;
/*
* Ends here--For showing the "showing 8-16 of 23 data
*/
$data["query2"]=$this->Booksmodel->get_all_book_list_atHomeTop('3',$config["per_page"], $page);
$data["links"] = $this->pagination->create_links();
$this->load->view('commonfiles/booksview',$data);
用于计算总行数的模型
//-- -Counting the rows of bookdetails of table where display_id is as argument-----
public function record_count_for_secondtopBooks($id) {
$this->load->database();
$this->db->where('display_id', $id);
$this->db->from('bookdetails');
return $this->db->count_all_results();
}
推荐答案
var_dump($ this-> pagination);
返回如下所示的结果:
var_dump($this->pagination);
returns somenthing like this:
object(CI_Pagination)
21 (31) {
["base_url"]=> string(31) "http://localhost/site/users"
["prefix"]=> string(0) ""
["suffix"]=> string(0) ""
["total_rows"]=> int(3)
["per_page"]=> int(20)
["num_links"]=> int(15)
["cur_page"]=> int(0)
["first_link"]=> string(5) "First"
["next_link"]=> bool(false)
["prev_link"]=> bool(false)
["last_link"]=> string(4) "Last"
["uri_segment"]=> int(2)
["full_tag_open"]=> string(25) ""
["full_tag_close"]=> string(4) ""
["first_tag_open"]=> string(31) ""
["first_tag_close"]=> string(13) " "
["last_tag_open"]=> string(36) " "
["last_tag_close"]=> string(7) ""
["first_url"]=> string(31) "http://localhost/site/users"
["cur_tag_open"]=> string(87) " "
["cur_tag_close"]=> string(11) ""
["next_tag_open"]=> string(36) " "
["next_tag_close"]=> string(13) " "
["prev_tag_open"]=> string(36) " "
["prev_tag_close"]=> string(7) ""
["num_tag_open"]=> string(35) " "
["num_tag_close"]=> string(7) ""
["page_query_string"]=> bool(false)
["query_string_segment"]=> string(8) "per_page"
["display_pages"]=> bool(true)
["anchor_class"]=> string(26) "class="button bradiusMax" " }
i should do:
echo "Showing ".( $this->pagination->cur_page * $this->pagination->per_page)." of ". $this->pagination->total_rows." total results";
如果你想要的话,你也可以使用不同的格式,因为itachi在评论中显示你。
if you want you can use also different formats as itachi showed you in comments.
这篇关于如何使用codeigniter显示分页信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!