当前位置: 首页 > 编程笔记 >

CI分页类首页、尾页不显示的解决方法

皇甫浩壤
2023-03-14
本文向大家介绍CI分页类首页、尾页不显示的解决方法,包括了CI分页类首页、尾页不显示的解决方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php日期与时间用法总结》、《phphtml" target="_blank">面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

 类似资料:
  • 将“然后向我显示页面”这一行添加到cucumber场景中,在我同事的计算机上使用相同的设置,但在我的计算机上则不然。实际上,添加暂停步骤定义并调用它似乎被完全忽略了。 步骤定义: 功能: 命令行: 使用Firefox 16.02(避免17中的错误) 两台机器都有git-fetch'd,拉取,捆绑安装,所以所有的宝石都是相同的,都使用Rbenv版本* 1.9.3-p327-perf。我可能错过了一些

  • 我正在使用基于Laravel和Twig的OctoberCMS。 十月有一个范围分页功能,但它缺乏我需要的功能,所以我必须使用Laravel返回结果和分页。 我有一个厨房分类和图像数据库记录。 我试图从URL中获取标识符,以过滤回数据库结果。 问题 代码返回自然图像并显示分页。但是当我点击一个页码时,url会变成或,但页面按钮停留在上,记录/图像不会更改。 这就像php在下一页重置,并再次显示第1页

  • 网页如何做到所见即打印的效果呢 我用了bootstrap等一些框架,大量使用里面的css样式 然后ctrl + P打印时啥也米有,就是一些乱七八糟的框子 但是google随便搜个东西,ctrl + P后打印的都是页面显示出来的样子 要怎么做呢 我试了css引入时加media=all,好像没有用

  • 持续自动化跟踪管理服务器整体安全态势,为用户提供今日安全实时监测、网络攻击分析、入侵事件分析、巡检结果统计等,帮助用户更好的了解业务系统当前的安全状况,提前发现安全风险,解决安全隐患。 实时攻击监测:指网防G01防护端在服务器上采集到的网络攻击及进程行为日志,是网防G01数据分析模型依赖的原始数据,此类日志包含已拦截和未拦截两种状态,在此处实时更新,用户可使用此功能作为日常的实时监测手段。 堡垒锁

  • 内容概要 C语言API包含部分标准C的API、POSIX标准的系统编程API(一些Linux独有的系统API会单独注明)。 头文件源码 大部分头文件源码在/usr/include目录下。 安装man手册 因为涉及到大量的POSIX编程。所以最好下载POSIX函数的man手册。 Ubuntu sudo apt-get install manpages-posix sudo apt-ge

  • 问题内容: 因此,我遇到了在每个页面上都显示报表标题的问题,但是我只想在第一页上显示它。该论坛上的人们提供的解决方案是仅将标题放置在主要内容中。问题是我的标题显示页码+总页数(即3页中的第1页)。我无法将页眉移到正文,因为我将无法访问页码。由于某些原因,报表生成器将只允许您通过标题访问页码。有谁能解决这个问题吗? 问题答案: 编写一个表达式以隐藏保存标题信息的文本框。 该表达式如下所示: 要获得e