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里的JS打印函数
Oct 09 PHP
php防盗链的常用方法小结
Jul 02 PHP
Could not load type System.ServiceModel.Activation.HttpModule解决办法
Dec 29 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
Jun 25 PHP
PHP定时任务延缓执行的实现
Oct 08 PHP
php基于base64解码图片与加密图片还原实例
Nov 03 PHP
php中strtotime函数用法详解
Nov 15 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
Oct 10 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
May 05 PHP
PHP简单实现解析xml为数组的方法
May 02 PHP
PhpStorm配置Xdebug调试的方法步骤
Feb 02 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
实例讲解PHP面向对象之多态
2014/08/20 PHP
php实现的ping端口函数实例
2014/11/12 PHP
PHP扩展模块memcached长连接使用方法分析
2014/12/24 PHP
完美利用Yii2微信后台开发的系列总结
2016/07/18 PHP
PHP memcache在微信公众平台的应用方法示例
2017/09/13 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
基于ThinkPHP删除目录及目录文件函数
2020/10/28 PHP
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
浅析JavaScript中的同名标识符优先级
2013/12/06 Javascript
JQuery使用$.ajax和checkbox实现下次不在通知功能
2015/04/16 Javascript
点评js异步加载的4种方式
2015/12/22 Javascript
Bootstrap3 datetimepicker控件使用实例
2016/12/13 Javascript
Vue.js 2.0 移动端拍照压缩图片上传预览功能
2017/03/06 Javascript
深入理解Vue 单向数据流的原理
2017/11/09 Javascript
webpack中使用iconfont字体图标的方法
2018/02/22 Javascript
详解Vue、element-ui、axios实现省市区三级联动
2019/05/07 Javascript
vue集成kindeditor富文本的实现示例代码
2019/06/07 Javascript
解决vue v-for src 图片路径问题 404
2019/11/12 Javascript
jQuery实现简单弹幕制作
2020/12/10 jQuery
讲解Python中fileno()方法的使用
2015/05/24 Python
分享一下Python 开发者节省时间的10个方法
2015/10/02 Python
python实现人脸识别代码
2017/11/08 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
python十进制和二进制的转换方法(含浮点数)
2018/07/07 Python
关于Python 常用获取元素 Driver 总结
2019/11/24 Python
python实现飞船游戏的纵向移动
2020/04/24 Python
浅谈Python中threading join和setDaemon用法及区别说明
2020/05/02 Python
推荐一些比较有用的css3新属性
2014/11/11 HTML / CSS
HTML5 Web 存储详解
2016/09/16 HTML / CSS
美国在线打印网站:Overnight Prints
2018/10/11 全球购物
英国性能汽车零件和发动机配件在线:Maxpeedingrods
2019/11/05 全球购物
自我推荐书
2013/12/04 职场文书
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
小学优秀学生评语
2014/12/29 职场文书
小学四年级作文之写景
2019/08/23 职场文书
Python基础之元类详解
2021/04/29 Python