简体   繁体   中英

How do segment 4 for pagination in codeigniter

In developing the site on codeigniter (ver.3), an error occurs: pagination does not work correctly. This only happens if you set the pagination at the fourth URL segment.

My controller (in class Main)

public function category($id=NULL){
    $data['category'] = $this->articles_model->get_category($id);

    $this->load->library('pagination');
    $config['base_url'] = base_url().'main/category/'.$id.'/';
    $config['total_rows'] = $this->articles_model
        >count_all_articles();
    $config['per_page'] = 10;
    $page = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0;

    $this->pagination->initialize($config);

    $data['articles'] = $this->articles_model-         >get_articles($config['per_page'],$page,$id);
    $data['links'] = $this->pagination->create_links();
}

Links like work but highlighted only the first page. on the second and subsequent page, the first page is also highlighted.

Just tell it to use the 4th segment ...

$config['uri_segment'] = 4;

This is the very first option shown in the documentation .

I was having the same problem but i solved it, and it is working well:

//u need to get the category id from the segment #3
$catid = $this->uri->segment(3);

//here is the segment of pagintation
$config["uri_segment"] = 4;

/*
here is the essantial work, where you should add the category id in the last of the base url
*/
$config["base_url"] = base_url() . "home/category/$catid";

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM