我目前正在使用codeigniter + twitter bootstrap进行一个项目,我试图在其中实现分页,但是当我在视图页面中回显链接时它什么都没显示,我已经粘贴了下面的代码,我也使用了这个代码我之前的项目也在那里工作正常,但现在不是,我无法弄清楚问题,我希望有人给我一个建议。
这是我的索引函数,
$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'] = '« First';
$config['first_tag_open'] = '<li class="prev page">';
$config['first_tag_close'] = '</li>';
$config['last_link'] = 'Last »';
$config['last_tag_open'] = '<li class="next page">';
$config['last_tag_close'] = '</li>';
$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>';
$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');
在我的视图文件中,我使用了
<?php echo $links; ?>
但它没有显示任何内容,所以我在控制器中使用var_dump()来了解结果,
var_dump($data['links']);
它给出:string(0) ""
var_dump($config);
它给出了:
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) "
" }
在我的视图页面中,我使用<?php echo $albumcount; ?>
正确显示了相册总数。和专辑限制也很好,即$config["per_page"] = 2;
但是当我回应分页链接时,他们没有表现出来。
答案 0 :(得分:4)
您将每个数据集计为total_albums
,但pagination library正在寻找 total_rows
。
答案 1 :(得分:0)
$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'] = '«';
$config['prev_tag_open'] = '<li>';
$config['prev_tag_close'] = '</li>';
$config['next_link'] = '»';
$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);
以及您正在进行的观看
<div><?php echo $pages; ?></div>