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如何透过ODBC来存取数据库
Oct 09 PHP
PHP 时间转换Unix时间戳代码
Jan 22 PHP
PHP的autoload机制的实现解析
Sep 15 PHP
PHP中header和session_start前不能有输出原因分析
Jan 11 PHP
用PHP代替JS玩转DOM的思路及示例代码
Jun 15 PHP
PHP异常处理浅析
May 12 PHP
php禁用cookie后session设置方法分析
Oct 19 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
Jul 13 PHP
Yii2.0实现生成二维码功能实例
Oct 24 PHP
PHP+jQuery实现双击修改table表格功能示例
Feb 21 PHP
Discuz不使用插件实现简单的打赏功能
Mar 21 PHP
PHP析构函数destruct与垃圾回收机制的讲解
Mar 22 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实现合并两个排序链表的方法
2018/01/19 PHP
layui数据表格自定义每页条数limit设置
2019/10/26 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
document.documentElement && document.documentElement.scrollTop
2007/12/01 Javascript
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
基于jquery实现的服务器验证控件的启用和禁用代码
2010/04/27 Javascript
基于JQuery的抓取博客园首页RSS的代码
2011/12/01 Javascript
关于eval 与new Function 到底该选哪个?
2013/04/17 Javascript
用JavaScript实现对话框的教程
2015/06/04 Javascript
jQuery Real Person验证码插件防止表单自动提交
2015/11/06 Javascript
javascript弹出窗口实现代码
2015/11/12 Javascript
JavaScript之RegExp_动力节点Java学院整理
2017/06/29 Javascript
JavaScript中Require调用js的实例分享
2017/10/27 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
2018/04/20 Javascript
Vue2.x中利用@font-size引入字体图标报错的解决方法
2018/09/28 Javascript
JavaScript实现的级联算法示例【省市二级联动功能】
2018/12/25 Javascript
浅谈vuex为什么不建议在action中修改state
2020/02/02 Javascript
JS Array.from()将伪数组转换成数组的方法示例
2020/03/23 Javascript
JS判断数组四种实现方法详解
2020/06/29 Javascript
解决Vue 移动端点击出现300毫秒延迟的问题
2020/07/21 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
利用python的socket发送http(s)请求方法示例
2018/05/07 Python
Python寻找两个有序数组的中位数实例详解
2018/12/05 Python
python中时间、日期、时间戳的转换的实现方法
2019/07/06 Python
python中dict使用方法详解
2019/07/17 Python
Django中使用haystack+whoosh实现搜索功能
2019/10/08 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
2021/02/26 Python
用html5的canvas画布绘制贝塞尔曲线完整代码
2013/08/14 HTML / CSS
美国设计师精美珠宝购物网:Netaya
2016/08/28 全球购物
西班牙国家航空官方网站:Iberia
2017/11/16 全球购物
美国排名第一的葡萄酒俱乐部:Firstleaf Wine Club
2020/01/02 全球购物
全球领先的在线cosplay服装商店:RoleCosplay
2020/01/18 全球购物
vue+django实现下载文件的示例
2021/03/24 Vue.js
军训感想500字
2014/02/20 职场文书
美食节目策划方案
2014/05/31 职场文书
个人三严三实对照检查材料
2014/09/25 职场文书