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 相关文章推荐
dedecms后台验证码总提示错误的解决方法
Mar 21 PHP
如何使用php输出时间格式
Aug 31 PHP
ThinkPHP实现批量删除数据的代码实例
Jul 02 PHP
php实现读取内存顺序号
Mar 29 PHP
php实现通过cookie换肤的方法
Jul 13 PHP
WordPress中对访客评论功能的一些优化方法
Nov 24 PHP
PHP函数func_num_args用法实例分析
Dec 07 PHP
php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
May 12 PHP
php实现数组纵向转横向并过滤重复值的方法分析
May 29 PHP
php中对象引用和复制实例分析
Aug 14 PHP
laravel-admin的多级联动方法
Sep 30 PHP
PHP使用redis位图bitMap 实现签到功能
Oct 08 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
全国中波电台频率表
2020/03/11 无线电
php结合web uploader插件实现分片上传文件
2016/05/10 PHP
新闻内页-JS分页
2006/06/07 Javascript
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
2009/04/07 Javascript
jQuery之$(document).ready()使用介绍
2012/04/05 Javascript
浅谈javascript中的作用域
2012/04/07 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
2016/02/26 Javascript
AngularJs学习第八篇 过滤器filter创建
2016/06/08 Javascript
实例详解jQuery的无new构建
2016/08/02 Javascript
js中删除数组中的某一元素实例(无下标时)
2017/02/28 Javascript
微信小程序实战之上拉(分页加载)效果(2)
2017/04/17 Javascript
详解微信小程序Radio选中样式切换
2017/07/06 Javascript
vue.js实例对象+组件树的详细介绍
2017/10/20 Javascript
vue+axios实现文件下载及vue中使用axios的实例
2018/09/21 Javascript
Vue仿微信app页面跳转动画效果
2019/08/21 Javascript
Vue实现腾讯云点播视频上传功能的实现代码
2020/08/17 Javascript
[45:52]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第二场 12.09
2020/12/12 DOTA
使用70行Python代码实现一个递归下降解析器的教程
2015/04/17 Python
python排序方法实例分析
2015/04/30 Python
Python中矩阵创建和矩阵运算方法
2018/08/04 Python
pytorch 转换矩阵的维数位置方法
2018/12/08 Python
python中update的基本使用方法详解
2019/07/17 Python
python实现图像拼接
2020/03/05 Python
Python用K-means聚类算法进行客户分群的实现
2020/08/23 Python
英国家庭珠宝商:T. H. Baker
2018/02/08 全球购物
西部世纪.net笔试题面试题
2014/04/03 面试题
高中毕业生自我鉴定范文
2013/09/26 职场文书
区域总监的岗位职责
2013/11/21 职场文书
测试工程师岗位职责
2013/11/28 职场文书
汽车销售顾问求职自荐信
2014/01/01 职场文书
维护民族团结演讲稿
2014/08/27 职场文书
幼儿园教师师德师风演讲稿:我自豪我是一名幼师
2014/09/10 职场文书
学校中层领导培训心得体会
2016/01/11 职场文书
5分钟教你docker安装启动redis全教程(全新方式)
2021/05/29 Redis
mongodb数据库迁移变更的解决方案
2021/09/04 MongoDB
Nginx 502 bad gateway错误解决的九种方案及原因
2022/08/14 Servers