【问题标题】:Why isn't my CodeIgniter pagination create_links working?为什么我的 CodeIgniter 分页 create_links 不起作用?
【发布时间】:2015-07-28 11:17:05
【问题描述】:

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

请记住,我的分页库正在自动加载。

这是我的“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;    
   }?>

这是我的博客控制器中的代码,它调用此函数并返回结果:

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

现在我的模型函数与 $data['pagg'] 变量完美配合。我正在使用我的分页返回给我的结果来设置我的模型函数的限制和偏移量。所以我已经知道该功能正在工作并且不是空的。但是当我尝试打印链接时,没有任何东西返回给我。这是为什么?我错过了什么吗?我做错什么了吗?这是我的 $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) "" }

如您所见,不仅“链接”数组为空,而且我在控制器中生成的下一个、上一个和其他标签在此处显示为空。如果您能帮我解决这个问题,我将不胜感激。提前致谢。

【问题讨论】:

  • 您是如何获得$data['particles'] 的?如果这是空的,那么你将没有结果

标签: php codeigniter pagination


【解决方案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

【讨论】:

    猜你喜欢
    • 2012-07-08
    • 2018-05-13
    • 1970-01-01
    • 2018-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多