为什么我的CodeIgniter分页create_links没有工作?

时间:2015-07-28 11:17:05

标签: php codeigniter pagination

我已经在这个 CodeIngiter 应用程序上工作了一段时间,不幸的是我的分页链接还没有生成。我不知道原因。我尝试了很多东西,但它只是不起作用。

请记住,我的分页库是在Autoload上。

这是我的" MY_Controller"中的分页初始化功能。在每个页面上默认加载:

    <?php
public function init_pagination($uri,$total_rows,$per_page=5){
       $config['per_page'] = $per_page;
       $config['base_url'] = base_url().$uri;
       $config['total_rows'] = intval($total_rows);
       $config['use_page_numbers'] = TRUE;
       $config['full_tag_open'] = '<ul class="pagination">';
       $config['full_tag_close'] = '</ul>';
       $config['first_link'] = 'First';
       $config['first_tag_open'] = '<li>';
       $config['first_tag_close'] = '</li>';
       $config['last_link'] = 'Last';
       $config['last_tag_open'] = '<li>';
       $config['last_tag_close'] = '</li>';
       $config['cur_tag_open'] = '<li class="active"><a>';
       $config['cur_tag_close'] = '</a></li>';
       $config['num_tag_open'] = '<li>';
       $config['num_tag_close'] = '</li>';
       $config['next_tag_open'] = '<li>';
       $config['next_tag_close'] = '</li>';
       $config['prev_tag_open'] = '<li>';
       $config['prev_tag_close'] = '</li>';
       $this->pagination->initialize($config);
       $config['links'] = $this->pagination->create_links();
       return $config;    
   }?>

这是我的Blog控制器中的代码,它调用此函数并获得结果:

<?php $data['pagg'] = $this->init_pagination("articles/index", round(count($data['particles'])/5, 0, PHP_ROUND_HALF_UP),5);?>

现在我的模型功能与$ data [&#39; pagg&#39;]变量完美配合。我使用结果,我的分页返回给我设置模型函数的限制和偏移量。所以我已经知道该函数正在运行并且不是空的。但是当我尝试打印链接时,没有任何内容返回给我。这是为什么?我错过了什么吗?我做错了什么吗?这是我的$ pagg:

的var_dump
array(21) { ["per_page"]=> int(5) ["base_url"]=> string(47) "url.com/blog/index" ["total_rows"]=> int(2) ["use_page_numbers"]=> bool(true) ["full_tag_open"]=> string(23) "" ["full_tag_close"]=> string(5) "" ["first_link"]=> string(5) "First" ["first_tag_open"]=> string(4) "
" ["first_tag_close"]=> string(5) "
" ["last_link"]=> string(4) "Last" ["last_tag_open"]=> string(4) "
" ["last_tag_close"]=> string(5) "
" ["cur_tag_open"]=> string(22) "
" ["cur_tag_close"]=> string(9) "
" ["num_tag_open"]=> string(4) "
" ["num_tag_close"]=> string(5) "
" ["next_tag_open"]=> string(4) "
" ["next_tag_close"]=> string(5) "
" ["prev_tag_open"]=> string(4) "
" ["prev_tag_close"]=> string(5) "
" ["links"]=> string(0) "" }

如您所见,不仅仅是&#39;链接&#39;数组为空,但我在控制器中生成的下一个,上一个和其他标记在此处显示为空。如果你能帮助我,我将不胜感激。提前致谢。

1 个答案:

答案 0 :(得分:1)

您遇到的问题最可能与您输入的数字有关:

$config['total_rows'] = "";
$config['per_page'] = "";

通常,您需要确保per_page至少应比total_rows多一个数字。如果没有,系统将不会注册任何链接,因为您告诉系统您的所有结果都应该适合当前页面。

创建分页时,请考虑到这一点:

  • total_rows:此数字表示您为其创建分页的结果集中的总行数。通常,此数字将是数据库查询返回的总行数。
  • per_page :您打算每页显示的项目数。

来源:http://www.codeigniter.com/user_guide/libraries/pagination.html?highlight=pagination