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 相关文章推荐
Oracle 常见问题解答
Oct 09 PHP
无数据库的详细域名查询程序PHP版(1)
Oct 09 PHP
php 数组排序 array_multisort与uasort的区别
Mar 24 PHP
php学习之 循环结构实现代码
Jun 09 PHP
PHP学习笔记(三):数据类型转换与常量介绍
Apr 17 PHP
ThinkPHP中使用Ueditor富文本编辑器
Sep 02 PHP
PHP信号量基本用法实例详解
Feb 12 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
May 05 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
Nov 22 PHP
PHP+jQuery实现即点即改功能示例
Feb 21 PHP
thinkphp3.2同时连接两个数据库的简单方法
Aug 13 PHP
设定php简写功能的方法
Nov 28 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
在普通HTTP上安全地传输密码
2007/07/21 PHP
PHP数组交集的优化代码分析
2011/03/06 PHP
如何用php生成扭曲及旋转的验证码图片
2013/06/07 PHP
php中opendir函数用法实例
2014/11/15 PHP
php单一接口的实现方法
2015/06/20 PHP
PHP检查端口是否可以被绑定的方法示例
2018/08/09 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
广告切换效果(缓动切换)
2009/05/27 Javascript
Javascript attachEvent传递参数的办法
2009/12/14 Javascript
jQuery EasyUI 的EasyLoader功能介绍
2010/09/12 Javascript
Javascript继承机制的设计思想分享
2011/08/28 Javascript
用jquery和json从后台获得数据集的代码
2011/11/07 Javascript
javascript获得服务器端控件的ID的实现代码
2011/12/28 Javascript
js数字转换为float,取N位小数
2014/02/08 Javascript
浅谈 jQuery 事件源码定位问题
2014/06/18 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
jQuery实现鼠标单击网页文字后在文本框显示的方法
2015/05/06 Javascript
Backbone.js框架中Model与Collection的使用实例
2016/05/07 Javascript
Bootstrap table使用方法总结
2017/05/10 Javascript
React Native第三方平台分享的实例(Android,IOS双平台)
2017/08/04 Javascript
vue-cli 3.x 修改dist路径的方法
2018/09/19 Javascript
nodejs同步调用获取mysql数据时遇到的大坑
2019/03/02 NodeJs
ElementUI中el-tree节点的操作的实现
2020/02/27 Javascript
用Python进行TCP网络编程的教程
2015/04/29 Python
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
分析python切片原理和方法
2017/12/19 Python
Python判断有效的数独算法示例
2019/02/23 Python
Python3利用openpyxl读写Excel文件的方法实例
2021/02/03 Python
requests在python中发送请求的实例讲解
2021/02/17 Python
美国畅销的跑步机品牌:ProForm
2017/02/06 全球购物
见习期自我鉴定
2014/01/31 职场文书
石油工程专业毕业生求职信
2014/04/13 职场文书
信用社主任竞聘演讲稿
2014/05/23 职场文书
社团个人总结范文
2015/03/05 职场文书
2015年学校教研室主任工作总结
2015/07/20 职场文书
学雷锋主题班会教案
2015/08/13 职场文书