如何使用codeigniter显示分页信息 [英] how to show pagination information using codeigniter

查看:91
本文介绍了如何使用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.


  1. 无法获得 cur_page 值。我试过
    $ CI =& get_instance();
    $ curpage = $ CI-> pagination-> cur_page;
    但这是给我一个

    零值。

  1. 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆