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 相关文章推荐
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
Jan 29 PHP
适用于php-5.2 的 php.ini 中文版[金步国翻译]
Apr 17 PHP
怎样使用php与jquery设置和读取cookies
Aug 08 PHP
php 字符串压缩方法比较示例
Jan 23 PHP
php实现将数组转换为XML的方法
Mar 09 PHP
ThinkPHP连接Oracle数据库
Apr 22 PHP
PHP多进程编程总结(推荐)
Jul 18 PHP
php使用curl实现简单模拟提交表单功能
May 15 PHP
php生出随机字符串
Jul 06 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
Nov 17 PHP
PHP goto语句用法实例
Aug 06 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
Jul 24 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远程调试之XDEBUG
2015/12/29 PHP
PHP接收App端发送文件流的方法
2016/09/23 PHP
基于jquery实现的一个选择中国大学的弹框 (数据、步骤、代码)
2012/07/26 Javascript
js拦截alert对话框另类应用
2013/01/16 Javascript
js解析json读取List中的实体对象示例
2014/03/11 Javascript
Js操作树节点自动折叠展开的几种方法
2014/05/05 Javascript
JS常用表单验证方法总结
2014/05/22 Javascript
JavaScript字符串对象substring方法入门实例(用于截取字符串)
2014/10/17 Javascript
一种Javascript解释ajax返回的json的好方法(推荐)
2016/06/02 Javascript
D3.js实现直方图的方法详解
2016/09/25 Javascript
解决浏览器会自动填充密码的问题
2017/04/28 Javascript
select标签设置默认选中的选项方法
2018/03/02 Javascript
Vue多系统切换实现方案
2018/06/05 Javascript
vue服务端渲染操作简单入门实例分析
2019/08/28 Javascript
微信小程序页面间传递数组对象方法解析
2019/11/06 Javascript
[45:40]Ti4 冒泡赛第二天NEWBEE vs NaVi 1
2014/07/15 DOTA
python监测当前联网状态并连接的实例
2018/12/18 Python
Pandas之ReIndex重新索引的实现
2019/06/25 Python
numpy np.newaxis 的实用分享
2019/11/30 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
2020/05/10 Python
利用python绘制中国地图(含省界、河流等)
2020/09/21 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
2020/12/23 Python
全球知名巧克力品牌:Godiva
2016/07/22 全球购物
美国最灵活的移动提供商:Tello
2017/07/18 全球购物
美国床垫连锁店:Mattress Firm
2021/02/13 全球购物
仓库管理制度
2014/01/21 职场文书
十佳青年个人事迹材料
2014/01/28 职场文书
创先争优一句话承诺
2014/05/29 职场文书
如何写早恋检讨书
2014/09/10 职场文书
数学教师个人总结
2015/02/06 职场文书
财务人员个人工作总结
2015/02/27 职场文书
2015年检验科工作总结
2015/04/27 职场文书
2015年信息宣传工作总结
2015/05/26 职场文书
2015年新教师个人工作总结
2015/10/14 职场文书
浪漫婚礼主持词开场白
2015/11/24 职场文书
Nginx四层负载均衡的配置指南
2021/06/11 Servers