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 19 PHP
在PHP中使用redis
Nov 04 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
Aug 20 PHP
PHP中4种常用的抓取网络数据方法
Jun 04 PHP
php生成动态验证码gif图片
Oct 19 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
Apr 04 PHP
PHP用continue跳过本次循环中剩余代码的注意点
Jun 27 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
Aug 07 PHP
php删除二维数组中的重复值方法
Mar 12 PHP
php语法检查的方法总结
Jan 21 PHP
PHP标准库(PHP SPL)详解
Mar 16 PHP
Laravel框架自定义分页样式操作示例
Jan 26 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
探讨file_get_contents与curl效率及稳定性的分析
2013/06/06 PHP
php导出中文内容excel文件类实例
2015/07/06 PHP
php ci 获取表单中多个同名input元素值的代码
2016/03/25 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
IE8 引入跨站数据获取功能说明
2008/07/22 Javascript
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
js中的事件捕捉模型与冒泡模型实例分析
2015/01/10 Javascript
javascript实现回到顶部特效
2015/05/06 Javascript
JS建造者模式基本用法实例分析
2015/06/30 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
jQuery Checkbox 全选 反选的简单实例
2016/11/29 Javascript
Angular中的$watch、$watchGroup、$watchCollection
2017/06/25 Javascript
extjs简介_动力节点Java学院整理
2017/07/17 Javascript
nodejs图片处理工具gm用法小结
2018/12/12 NodeJs
在vue项目中引用Antv G2,以饼图为例讲解
2020/10/28 Javascript
[01:57]2018DOTA2亚洲邀请赛赛前采访-iG
2018/04/03 DOTA
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
python中实现k-means聚类算法详解
2017/11/11 Python
python利用sklearn包编写决策树源代码
2017/12/21 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
Python3 Tkinkter + SQLite实现登录和注册界面
2019/11/19 Python
python循环输出三角形图案的例子
2019/11/22 Python
python脚本实现mp4中的音频提取并保存在原目录
2020/02/27 Python
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
canvas进阶之贝塞尔公式推导与物体跟随复杂曲线的轨迹运动
2018/01/10 HTML / CSS
Crocs卡骆驰洞洞鞋日本官方网站:Crocs日本
2016/08/25 全球购物
阿联酋电子产品购物网站:Menakart
2017/09/15 全球购物
新闻专业个人自我评价
2013/09/21 职场文书
行政总经理岗位职责
2013/12/05 职场文书
孝敬父母的活动方案
2014/08/31 职场文书
Ajax是什么?Ajax高级用法之Axios技术
2021/04/21 Javascript
golang 实现并发求和
2021/05/08 Golang
Python max函数中key的用法及原理解析
2021/06/26 Python
css3 文字断裂效果
2022/04/22 HTML / CSS
如何让你的Nginx支持分布式追踪详解
2022/07/07 Servers