phpcodeigniterpaginationcodeigniter-url

CodeIgniter pagination Previous and active Links not Working


I have a code where clicking on pagination links functions fine , but if i click on a link that particular link is not showing as active link . my code is as follows

function viewcategory($name) {
    $this->load->database();
    $this->load->model('categorypostmod');

    $page = $this->uri->segment(5);
    $this->load->helper("url");
    $this->load->library('table');

    $this->load->model("site_model");
    $this->load->helper('form');
    $this->load->library('pagination');
    $config['base_url'] = "http://localhost/b3/index.php/CategoryPost/viewcategory/" . $name . "/page/";
    $config['per_page'] = 2;
    $config['num_links'] = 5;

    log_message('info', 'count is ' . $this->categorypostmod->getCategorycount($name));

    $config['total_rows'] = $this->categorypostmod->getCategorycount($name);
    $config['full_tag_open'] = '<ul class="pagination">';

    $config['full_tag_close'] = '</ul>';

    $config['use_page_numbers'] = TRUE;

    $config['next_link'] = 'Next';
    $config['next_tag_open'] = '<li class="next page">';
    $config['next_tag_close'] = '</li>';

    $config['prev_link'] = ' Previous';
    $config['prev_tag_open'] = '<li class="prev page">';
    $config['prev_tag_close'] = '</li>';

    $config['cur_tag_open'] = '<li class="active"><a href="">';
    $config['cur_tag_close'] = '</a></li>';

    $config['num_tag_open'] = '<li class="page">';
    $config['num_tag_close'] = '</li>';

    $data['query'] = $this->categorypostmod->getCategorypost($name, $config['per_page'], $this->uri->segment(5));
    $records = $this->db->get('post', $config['per_page'], $this->uri->segment(5));
    $this->pagination->initialize($config);

    $this->load->helper("url");
    $this->load->view('script');
    $this->load->view('head');
    $this->load->view('cat_content_list', $data);

    $this->load->view('aside');
    $this->load->view('bottom');
}

Controller name is categorypost ,Please help me as the same code is working on other controller , i think i am missing the working of how links are created , looks like to me that CI is unable to get the link that is clicked is an active one , Please Help me onto this .


Solution

  • Try using the following code, let me know what results you get:

    function viewcategory($name) {
        $this->load->database();
    
        $this->load->helper("url");
        $this->load->helper('form');
    
        $this->load->library('table');
        $this->load->library('pagination');
    
        $this->load->model('categorypostmod');
        $this->load->model("site_model");
    
        $page = $this->uri->segment(5);
        $categCount = $this->categorypostmod->getCategorycount($name);
    
        $config['base_url'] = "http://localhost/b3/index.php/CategoryPost/viewcategory/" . $name . "/page/";
        $config['per_page'] = 2;
        $config['num_links'] = 5;
    
        log_message('info', 'count is ' . $categCount);
    
        $config['total_rows'] = $categCount;
        $config['full_tag_open'] = '<ul class="pagination">';
    
        $config['full_tag_close'] = '</ul>';
    
        $config['use_page_numbers'] = TRUE;
    
        $config['next_link'] = 'Next';
        $config['next_tag_open'] = '<li class="next page">';
        $config['next_tag_close'] = '</li>';
    
        $config['prev_link'] = ' Previous';
        $config['prev_tag_open'] = '<li class="prev page">';
        $config['prev_tag_close'] = '</li>';
    
        $config['cur_tag_open'] = '<li class="active"><a href="">';
        $config['cur_tag_close'] = '</a></li>';
    
        $config['num_tag_open'] = '<li class="page">';
        $config['num_tag_close'] = '</li>';
    
        $data['query'] = $this->categorypostmod->getCategorypost($name, $config['per_page'], $page);
    
        $records = $this->db->get('post', $config['per_page'], $page);
    
        $this->pagination->initialize($config);
    
    
        $this->load->view('script');
        $this->load->view('head');
        $this->load->view('cat_content_list', $data);
    
        $this->load->view('aside');
        $this->load->view('bottom');
    }