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自动给文章加关键词链接的函数代码
Nov 29 PHP
PHP输出时间差函数代码
Jan 28 PHP
php数组去重的函数代码
Feb 03 PHP
使用php判断网页是否gzip压缩
Jun 25 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
Jun 22 PHP
PHP curl使用实例
Jul 02 PHP
PHP.ini安全配置检测工具pcc简单介绍
Jul 02 PHP
php简单实现数组分页的方法
Apr 30 PHP
php+mysql实现的二级联动菜单效果详解
May 10 PHP
利用php获得flv视频长度的实例代码
Oct 26 PHP
PHP中PCRE正则解析代码详解
Apr 26 PHP
Yii redis集合的基本使用教程
Jun 14 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
PHP中的正规表达式(二)
2006/10/09 PHP
php可生成缩略图的文件上传类实例
2014/12/17 PHP
yii2学习教程之5种内置行为类详解
2017/08/03 PHP
ThinkPHP防止重复提交表单的方法实例分析
2018/05/10 PHP
对象的类型:本地对象(1)
2006/12/29 Javascript
JS实现随机数生成算法示例代码
2013/08/08 Javascript
JS注释所产生的bug 即使注释也会执行
2013/11/19 Javascript
解析Javascript中大括号“{}”的多义性
2013/12/02 Javascript
ie浏览器使用js导出网页到excel并打印
2014/03/11 Javascript
三种检测iPhone/iPad设备方向的方法
2014/04/23 Javascript
常用的Javascript数据验证插件
2015/08/04 Javascript
高性能JavaScript DOM编程(1)
2015/08/11 Javascript
jQuery fadeOut 异步实例代码详解
2016/08/18 Javascript
Vue.js每天必学之方法与事件处理器
2016/09/06 Javascript
jQuery实现一个简单的轮播图
2017/02/19 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
2017/04/07 Javascript
JS实现unicode和UTF-8之间的互相转换互转
2017/07/05 Javascript
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
2017/10/24 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
2018/06/29 Javascript
React中使用UEditor百度富文本的方法
2018/08/22 Javascript
vue实现弹幕功能
2019/10/25 Javascript
Vue使用screenfull实现全屏效果
2020/09/17 Javascript
vue.js实现点击图标放大离开时缩小的代码
2021/01/27 Vue.js
python实现百度关键词排名查询
2014/03/30 Python
Python 加密的实例详解
2017/10/09 Python
对python遍历文件夹中的所有jpg文件的实例详解
2018/12/08 Python
opencv实现简单人脸识别
2021/02/19 Python
python opencv 检测移动物体并截图保存实例
2020/03/10 Python
编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串
2014/01/07 面试题
公开服务承诺制度
2014/03/26 职场文书
摄影专业毕业生求职信
2014/08/05 职场文书
安全生产年活动总结
2014/08/29 职场文书
2014银行领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
大国崛起英国观后感
2015/06/02 职场文书
法人代表证明书范本
2015/06/18 职场文书
vue使用localStorage持久性存储实现评论列表
2022/04/14 Vue.js