CI分页类首页、尾页不显示的解决方法


Posted in PHP onMarch 28, 2016

本文实例讲述了CI分页类首页、尾页不显示的解决方法。分享给大家供大家参考,具体如下:

看了下手册说,每次都要重新去写一次呢些$config,可以新建一个文件放到config文件夹下面,考虑了下,config这个文件夹系统会自动加载,也就是说不管你访问什么页面这文件夹里面的所有信息都会被加载,所以,要想在这个文件里面去写就需要写方法,这样即使加载如果不去加载也是没有关系的。本人没有沿用手册上的说法做。

我的思路:既然我们是在CI这框架下写的东西,而且每个控制器都会引入父类CI_Controller这个类,所有我就在这个类中创建了一个方法,名page代码如下:

public function page($url,$total,$pre,$status=TRUE){
  $this->load->library('pagination');
  $config['base_url'] = $url;
  $config['total_rows'] = $total;
  $config['per_page'] = $pre;
  $config['page_query_string'] = $status;
  $config['first_link'] = 'First';//首页
  $config['first_tag_open'] = '';
  $config['first_tag_close'] = '';
  $config['last_link'] = 'Last';//尾页
  $config['last_tag_open'] = '';
  $config['last_tag_close'] = '';
  $this->pagination->initialize($config);
  $page_list = $this->pagination->create_links();
  return $page_list;
}

参数说明,$url: 当前需要使用分页的地址。  $total:总数。  $pre:每页显示的数量   $status默认是true  传page以&page=1 的方式,如果修改成false则已page/1的方式显示。

然后直接在你的控制器中如下使用即可

$page_list = $this->page("http://XXX.XXXX.com/XXX/XXX",总数,页显示数量);
//分页

这样既可。

tips:系统自带的传值形参不叫page而是pre_page好像,忘了,由于参数过长,你就在 根目录--》system-->libraries--》Pagination.php里面  找到var $query_string_segment ="形参";这里修改page即可。

测试是发现如果按照上面的写法,首页和尾页不显示的原因:你的数据量太少了,分页数据至少在4页以上才会出现 首页这个字样,但是我们可以修改,这里我设定为3页才显示,则也去这个 pagination.php文件中找到

var $num_links = 2;这里默认是2也就是第四页才显示,修改成1 ,注意,这里最小只能修改成1,如果你想在任何情况下都显示则需要修改代码,找到这段代码:

if ($this->first_link !== FALSE AND $this->cur_page > ($this->num_links + 1))

修改将and 后面的都去掉即可,因为and后面就是限定条件,说明下:$this->cur_page表示当前页,  $this->num_links就是要显示在什么时候才显示的,还有其他代码这里就不说明了,自己查找下问啥$num_links不能设置为0

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

PHP 相关文章推荐
用PHP将网址字符串转换成超链接(网址或email)
May 25 PHP
php 大数据量及海量数据处理算法总结
May 07 PHP
PHP中PDO的错误处理
Sep 04 PHP
如何利用PHP执行.SQL文件
Jul 05 PHP
浅析Mysql 数据回滚错误的解决方法
Aug 05 PHP
C/S和B/S两种架构区别与优缺点分析
Oct 23 PHP
php jsonp单引号转义
Nov 23 PHP
PHP下的浮点运算不准的解决方法
Oct 27 PHP
php PDO异常处理详解
Nov 20 PHP
php7安装yar扩展的方法详解
Aug 03 PHP
PHP编程实现计算抽奖概率算法完整实例
Aug 09 PHP
PHP 构造函数和析构函数原理与用法分析
Apr 21 PHP
CodeIgniter分页类pagination使用方法示例
Mar 28 #PHP
php实现简单爬虫的开发
Mar 28 #PHP
PHP连接数据库实现注册页面的增删改查操作
Mar 27 #PHP
php编程中echo用逗号和用点号连接的区别
Mar 26 #PHP
php ci 获取表单中多个同名input元素值的代码
Mar 25 #PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
Mar 25 #PHP
php用正则判断是否为数字的方法
Mar 25 #PHP
You might like
redis 队列操作的例子(php)
2012/04/12 PHP
php引用返回与取消引用的详解
2013/06/08 PHP
360通用php防护代码(使用操作详解)
2013/06/18 PHP
PHP系统命令函数使用分析
2013/07/05 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
创建公共调用 jQuery Ajax 带返回值
2012/08/01 Javascript
Javascript实现页面跳转的几种方式分享
2013/10/26 Javascript
node.js下when.js 的异步编程实践
2014/12/03 Javascript
jQuery操作JSON的CRUD用法实例
2015/02/25 Javascript
Javascript变量的作用域和作用域链详解
2015/04/02 Javascript
jQuery unbind 删除绑定事件详解
2016/05/24 Javascript
探究JavaScript中的五种事件处理程序方式
2016/12/07 Javascript
详解Nodejs的timers模块
2016/12/22 NodeJs
jQuery中layer分页器的使用
2017/03/13 Javascript
javascript闭包功能与用法实例分析
2017/04/06 Javascript
用原生JS实现简单的多选框功能
2017/06/12 Javascript
浅谈AngularJS中使用$resource(已更新)
2017/09/14 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
2018/03/12 Javascript
详解Vue.js项目API、Router配置拆分实践
2018/03/16 Javascript
[44:40]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
Python使用Flask框架同时上传多个文件的方法
2015/03/21 Python
python实现爬虫下载美女图片
2015/07/14 Python
Python中几种导入模块的方式总结
2017/04/27 Python
Python实现字典去除重复的方法示例
2017/07/31 Python
解决使用pycharm提交代码时冲突之后文件丢失找回的方法
2018/08/05 Python
wtfPython—Python中一组有趣微妙的代码【收藏】
2018/08/31 Python
详解python中__name__的意义以及作用
2019/08/07 Python
size?爱尔兰官方网站:英国伦敦的球鞋精品店
2019/03/31 全球购物
武汉世纪畅想数字传播有限公司 .NET笔试题
2015/06/13 面试题
.NET程序员的几道面试题
2012/06/01 面试题
园艺专业毕业生求职信
2014/09/02 职场文书
纪念九一八事变演讲稿:青少年应树立远大理想
2014/09/14 职场文书
民主评议政风行风活动心得体会
2014/10/29 职场文书
私用公车造成事故检讨书
2014/11/16 职场文书
校运会加油稿大全
2015/07/22 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书