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实现与ASP Banner组件相似的类
Oct 09 PHP
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
Sep 05 PHP
无需重新编译php加入ftp扩展的解决方法
Feb 07 PHP
深入分析php之面向对象
May 15 PHP
简单谈谈php延迟静态绑定
Jan 26 PHP
php时间计算相关问题小结
May 09 PHP
PHPWind9.0手动屏蔽验证码解决后台关闭验证码但是依然显示的问题
Aug 12 PHP
php中文字符串截取多种方法汇总
Oct 06 PHP
PHP Mysqli 常用代码集合
Nov 12 PHP
实例分析基于PHP微信网页获取用户信息
Nov 24 PHP
提高Laravel应用性能方法详解
Jun 24 PHP
PHP实现单例模式建立数据库连接的方法分析
Feb 11 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
拼音码表的生成
2006/10/09 PHP
for循环连续求和、九九乘法表代码
2012/02/20 PHP
php数组中删除元素的实现代码
2012/06/22 PHP
PHP文件锁定写入实例解析
2014/07/14 PHP
php+mysql实现简单的增删改查功能
2015/07/13 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
Code:loadScript( )加载js的功能函数
2007/02/02 Javascript
Javascript中的常见排序算法
2007/03/27 Javascript
JavaScript的面向对象方法以及差别
2008/03/31 Javascript
jQuery学习5 jQuery事件模型
2010/02/07 Javascript
jquery中post方法用法实例
2014/10/21 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
JavaScript中的this机制
2016/01/30 Javascript
原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法
2016/08/05 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
微信小程序网络请求wx.request详解及实例
2017/05/18 Javascript
详解webpack 多页面/入口支持&公共组件单独打包
2017/06/29 Javascript
JS解决IOS中拍照图片预览旋转90度BUG的问题
2017/09/13 Javascript
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
2018/08/24 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
原生js+css实现tab切换功能
2020/09/17 Javascript
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
浅析Python中元祖、列表和字典的区别
2016/08/17 Python
Python实现的径向基(RBF)神经网络示例
2018/02/06 Python
详解tensorflow训练自己的数据集实现CNN图像分类
2018/02/07 Python
Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
2018/05/21 Python
通过shell+python实现企业微信预警
2019/03/07 Python
Django如何防止定时任务并发浅析
2019/05/14 Python
使用PyQt4 设置TextEdit背景的方法
2019/06/14 Python
python调用Matplotlib绘制分布点图
2019/10/18 Python
精灵市场:Pixie Market
2019/06/18 全球购物
施华洛世奇中国官网:SWAROVSKI中国
2020/06/16 全球购物
中软Java笔试题
2012/11/11 面试题
班主任评语大全
2014/04/26 职场文书
遗嘱格式范本
2015/08/07 职场文书
Python加密与解密模块hashlib与hmac
2022/06/05 Python