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 的 __FILE__ 常量
Jan 15 PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
Jun 25 PHP
php使浏览器直接下载pdf文件的方法
Nov 15 PHP
用PHP和Shell写Hadoop的MapReduce程序
Apr 15 PHP
PHP中使用smarty生成静态文件的例子
Apr 24 PHP
CodeIgniter删除和设置Cookie的方法
Apr 07 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
Jan 07 PHP
浅谈PHP中静态方法和非静态方法的相互调用
Oct 04 PHP
php图形jpgraph操作实例分析
Feb 22 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
Yii框架日志操作图文与实例详解
Sep 09 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
Sep 16 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把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
Yii框架分页实现方法详解
2017/05/20 PHP
ExtJS 设置级联菜单的默认值
2010/06/13 Javascript
改善用户体验的五款jQuery插件分享
2011/05/22 Javascript
jQuery EasyUI API 中文文档 - Tree树使用介绍
2011/11/19 Javascript
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
2013/04/15 Javascript
jquery中的ajax方法怎样通过JSONP进行远程调用
2014/05/04 Javascript
基于javascript的JSON格式页面展示美化方法
2014/07/02 Javascript
jQuery遍历对象、数组、集合实例
2014/11/08 Javascript
Jquery插件实现点击获取验证码后60秒内禁止重新获取
2015/03/13 Javascript
nodejs开发微博实例
2015/03/25 NodeJs
使用AOP改善javascript代码
2015/05/01 Javascript
分享19个JavaScript 有用的简写写法
2017/07/07 Javascript
基于BootStrap实现简洁注册界面
2017/07/20 Javascript
vue项目中jsonp跨域获取qq音乐首页推荐问题
2018/05/30 Javascript
vue中导出Excel表格的实现代码
2018/10/18 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
VUE安装使用教程详解
2019/06/03 Javascript
vue实现配置全局访问路径头(axios)
2019/11/01 Javascript
[02:30]DOTA2放量测试专访海涛:呼吁保护新手玩家
2013/08/26 DOTA
[58:42]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第一局
2016/02/27 DOTA
在Python中使用SQLite的简单教程
2015/04/29 Python
python xlsxwriter创建excel图表的方法
2018/06/11 Python
Python实现App自动签到领取积分功能
2018/09/29 Python
python 处理微信对账单数据的实例代码
2019/07/19 Python
TensorFlow 多元函数的极值实例
2020/02/10 Python
Python解释器及PyCharm工具安装过程
2020/02/26 Python
PyCharm+Miniconda3安装配置教程详解
2021/02/16 Python
Aveda美国官网:天然护发产品、洗发水、护发素和沙龙
2016/12/09 全球购物
演讲稿格式范文
2014/05/19 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
人工作失职检讨书
2015/05/05 职场文书
2015年幼儿园中班下学期工作总结
2015/05/22 职场文书
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL
javascript的setTimeout()使用方法总结
2021/11/20 Javascript
苹果的回收机器人可以通过拆解iPhone获取大量的金和铜并外公布了环境保护最新进展
2022/04/21 数码科技