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中的串行化变量和序列化对象
Sep 05 PHP
PHP5.2下chunk_split()函数整数溢出漏洞 分析
Jun 06 PHP
snoopy PHP版的网络客户端提供本地下载
Apr 15 PHP
php 无法载入mysql扩展
Mar 12 PHP
深入浅出php socket编程
May 13 PHP
基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
Sep 23 PHP
PHP MVC框架skymvc支持多文件上传
May 26 PHP
php array_udiff_assoc 计算两个数组的差集实例
Nov 12 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
Dec 19 PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
May 23 PHP
php面试实现反射注入的详细方法
Sep 30 PHP
如何判断微信付款码和支付宝付款码
Apr 01 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 fckeditor 调用的函数
2009/06/21 PHP
php设计模式 Observer(观察者模式)
2011/06/26 PHP
PHP中使用Imagick读取pdf并生成png缩略图实例
2015/01/21 PHP
PHP Warning: Module 'modulename' already loaded in问题解决办法
2015/03/16 PHP
Laravel+jQuery实现AJAX分页效果
2016/09/14 PHP
php实现数组纵向转横向并过滤重复值的方法分析
2017/05/29 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
AngularJS优雅的自定义指令
2016/07/01 Javascript
js时间比较 js计算时间差的简单实现方法
2016/08/26 Javascript
使用ionic切换页面卡顿的解决方法
2016/12/16 Javascript
vue2.0.js的多级联动选择器实现方法
2018/02/09 Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
2018/03/08 Javascript
jQuery实现的简单手风琴效果示例
2018/08/29 jQuery
微信小程序实现打卡日历功能
2020/09/21 Javascript
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
mpvue微信小程序开发之实现一个弹幕评论
2019/11/24 Javascript
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
python网络编程学习笔记(五):socket的一些补充
2014/06/09 Python
python中学习K-Means和图片压缩
2017/11/20 Python
Python cookbook(数据结构与算法)从序列中移除重复项且保持元素间顺序不变的方法
2018/03/13 Python
详解python3中tkinter知识点
2018/06/21 Python
原来我一直安装 Python 库的姿势都不对呀
2019/11/11 Python
pytorch forward两个参数实例
2020/01/17 Python
python3正则模块re的使用方法详解
2020/02/11 Python
python 装饰器功能与用法案例详解
2020/03/06 Python
aec加密 php_php aes加密解密类(兼容php5、php7)
2021/03/14 PHP
CSS3中引入多种自定义字体font-face
2020/06/12 HTML / CSS
吃透移动端 1px的具体用法
2019/12/16 HTML / CSS
惊艳的手工时装首饰:Migonne Gavigan
2018/02/23 全球购物
Spartoo瑞典:鞋子、包包和衣服
2018/09/15 全球购物
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
幼儿园家长评语大全
2014/04/16 职场文书
小学生感恩演讲稿
2014/04/25 职场文书
建筑结构施工求职信
2014/07/11 职场文书
2014年预备党员学习新党章思想汇报
2014/09/15 职场文书
学生会干部任命书
2015/09/21 职场文书