Ashok Kumar
Ashok Kumar

Reputation: 11

codeigniter pagination not displaying links

i currently working on a project using codeigniter + twitter bootstrap,i tried to implement the pagination in it, but when i echo links in the view page it displays nothing,i have pasted the code below, i also used this code in my previous project also there it is working fine,but now it is not , i cant figure out the issue,i hope someone give me a suggestion.
This is my index function,

    $this->load->helper('url'); 
    $this->load->model('albums');
    $this->load->library('pagination');

    $config = array();
    $config["base_url"] = base_url() . "admin/gallery";
    $config["total_albums"] = $this->albums->all_albums_count();
    $config["per_page"] = 2;
    $config['num_links'] = 5;
    $config["uri_segment"] = 3;


    $config['full_tag_open'] = '<div class="pagination"><ul>';
    $config['full_tag_close'] = '</ul></div><!--pagination-->';
    $config['first_link'] = '&laquo; First';
    $config['first_tag_open'] = '<li class="prev page">';
    $config['first_tag_close'] = '</li>';

    $config['last_link'] = 'Last &raquo;';
    $config['last_tag_open'] = '<li class="next page">';
    $config['last_tag_close'] = '</li>';

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

    $config['prev_link'] = '&larr; 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>';


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

    $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
    $data['query'] = $this->albums->get_all_albums($config["per_page"], $page);


    $data['links'] = $this->pagination->create_links();

    $data['albumcount'] = $config["total_albums"];
    var_dump($data['links']);
    var_dump($config);
    $this->load->view('layouts/admin_header');
    $this->load->view('admin/gallery_view', $data);
    $this->load->view('layouts/admin_footer');

in my view file , i used

 <?php echo $links; ?>

but it displays me nothing,so i have use var_dump() in the controller to know the result,

var_dump($data['links']);

it gives: string(0) ""

var_dump($config);

it gives :

array(23) { ["base_url"]=> string(41) "http://localhost/sch_manage/admin/gallery" ["total_albums"]=> int(3) ["per_page"]=> int(2) ["num_links"]=> int(5) ["uri_segment"]=> int(3) ["full_tag_open"]=> string(28) "
    " ["full_tag_close"]=> string(28) "
    " ["first_link"]=> string(13) "« First" ["first_tag_open"]=> string(22) "
    " ["first_tag_close"]=> string(5) "
    " ["last_link"]=> string(12) "Last »" ["last_tag_open"]=> string(22) "
    " ["last_tag_close"]=> string(5) "
    " ["next_link"]=> string(11) "Next →" ["next_tag_open"]=> string(22) "
    " ["next_tag_close"]=> string(5) "
    " ["prev_link"]=> string(15) "← Previous" ["prev_tag_open"]=> string(22) "
    " ["prev_tag_close"]=> string(5) "
    " ["cur_tag_open"]=> string(30) "
    " ["cur_tag_close"]=> string(9) "
    " ["num_tag_open"]=> string(17) "
    " ["num_tag_close"]=> string(5) "
    " }

In my view page i use <?php echo $albumcount; ?> it displays total album count correctly. and album limit also working fine i.e. $config["per_page"] = 2; but when i echo pagination links ,they are not showing.

Upvotes: 1

Views: 6949

Answers (2)

Xristos Boursinos
Xristos Boursinos

Reputation: 61

$this->load->model('reciever');
                $this->load->library('uri');
                $this->load->library('pagination');
                $config['base_url'] = base_url(). 'users_ci/users';
                $config['total_rows'] = $this->reciever->getRows();
                $config['per_page'] = 4;
                $config['full_tag_open'] = '<ul class="pagination">';
                $config['full_tag_close'] = '</ul>';            
                $config['prev_link'] = '&laquo;';
                $config['prev_tag_open'] = '<li>';
                $config['prev_tag_close'] = '</li>';
                $config['next_link'] = '&raquo;';
                $config['next_tag_open'] = '<li>';
                $config['next_tag_close'] = '</li>';
                $config['cur_tag_open'] = '<li class="active"><a href="#">';
                $config['cur_tag_close'] = '</a></li>';
                $config['num_tag_open'] = '<li>';
                $config['num_tag_close'] = '</li>';
                $config["num_links"] = round( $config["total_rows"] / $config["per_page"] );
                $config['users']= $this->reciever->getUsers(4,$this->uri->segment(3));
                $this->pagination->initialize($config);
                $config['pages'] = $this->pagination->create_links();
                $this->load->view('users',$config);

and for the view you are doing

<div><?php echo $pages; ?></div>

Upvotes: 0

complex857
complex857

Reputation: 20753

You are passing the in the every alboum count as total_albums but the pagination library is looking for total_rows.

Upvotes: 5

Related Questions