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 str_pad 函数使用详解
Jan 13 PHP
php将session放入memcached的设置方法
Feb 14 PHP
php表单请求获得数据求和示例
May 15 PHP
PHP文件锁定写入实例解析
Jul 14 PHP
php的4种常见运行方式
Mar 20 PHP
PHP响应post请求上传文件的方法
Dec 17 PHP
PHP生成短网址方法汇总
Jul 12 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
Oct 17 PHP
PHP微信公众号开发之微信红包实现方法分析
Jul 14 PHP
PHP基于IMAP收取邮件的方法示例
Aug 07 PHP
thinkphp5框架扩展redis类方法示例
May 06 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
Dec 30 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提交过来的数据生成为txt文件
2016/04/28 PHP
微信支付扫码支付php版
2016/07/22 PHP
phpstorm 正则匹配删除空行、注释行(替换注释行为空行)
2018/01/21 PHP
CodeIgniter框架数据库基本操作示例
2018/05/24 PHP
javascript 事件处理程序介绍
2012/06/27 Javascript
全面理解面向对象的 JavaScript(来自ibm)
2013/11/10 Javascript
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
jquery弹出层类代码分享
2013/12/27 Javascript
IE8下Jquery获取select选中的值post到后台报错问题
2014/07/02 Javascript
浅析Node.js查找字符串功能
2014/09/03 Javascript
推荐4个原生javascript常用的函数
2015/01/12 Javascript
javascript中使用正则表达式清理table样式的代码
2020/04/01 Javascript
每天一篇javascript学习小结(Date对象)
2015/11/13 Javascript
JS运动相关知识点小结(附弹性运动示例)
2016/01/08 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
2016/06/02 Javascript
原生JS 购物车及购物页面的cookie使用方法
2017/08/21 Javascript
微信小程序实现列表下拉刷新上拉加载
2020/07/29 Javascript
create-react-app安装出错问题解决方法
2018/09/04 Javascript
详解vue 不同环境配置不同的打包命令
2019/04/07 Javascript
linux 下以二进制的方式安装 nodejs
2020/02/12 NodeJs
解决vue+elementui项目打包后样式变化问题
2020/08/03 Javascript
[54:47]Liquid vs VP Supermajor决赛 BO 第五场 6.10
2018/07/05 DOTA
用python结合jieba和wordcloud实现词云效果
2017/09/05 Python
python实现遍历文件夹修改文件后缀
2018/08/28 Python
python批量识别图片指定区域文字内容
2019/04/30 Python
django-rest-swagger对API接口注释的方法
2019/08/29 Python
Python json转字典字符方法实例解析
2020/04/13 Python
日语专业个人的求职信
2013/12/03 职场文书
法制宣传教育方案
2014/05/09 职场文书
新教师培训心得体会
2014/09/02 职场文书
工作疏忽检讨书500字
2014/10/26 职场文书
2015年国际护士节演讲稿
2015/03/18 职场文书
2015学生会文艺部工作总结
2015/04/03 职场文书
初二英语教学反思
2016/02/15 职场文书
2019企业给员工的慰问信
2019/06/24 职场文书
演讲开头怎么书写?
2019/08/06 职场文书