php分页数据最后一页继续追加第一页数据
之前做数据分页遇到这样一个需求,就是数据到最后一页的时候不能中断,继续把第一页的数据追加到后面,无限显示下去。
原文地址:代码汇个人博客 http://www.codehui.net/info/23.html
一般情况我们写数据分页都是如下代码
//分页码 $page = $_REQUEST['page']; //显示条数 $limit = 10; //分页开始条数 $start_limit = ($page - 1) * $limit; //运行sql语句得到的结果 $list = model('table')->limit("$start_limit, $limit")->findAll(); //返回数据 return $list;
比如我们有102条数据,到了11页的时候就会只有2条数据,显然这不是我们要的结果。如果我们想要第11页数据显示的是最后的2条+第1页的前8条,就不能用这种方法了。
//分页码 $page = $_REQUEST['page']; //显示条数 $limit = 10; //数据总条数 $count = model('table')->count(); //取模 $pattern = (($page - 1) * $limit) % $count; //余条数 $pattern_limit = $pattern % $limit; //获取数据 $list = model('table')->limit("$pattern, $limit")->findAll(); //数据条数小于页面显示条数 继续查询进行追加 if(count($list) < $limit){ //差数据条数 $remainder = $limit - count($list); //重头开始查询数据 $new_list = model('table')->limit("0, $remainder")->findAll(); //合并数据 $list = array_merge($list, $new_list); } return $list;

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Angular 应用解决跨域访问的问题
在前后台分离的应用中,Angular 与 Java 是一对好搭档。但是如果是分开部署应用,则势必会遇到跨域访问的问题。 什么是跨域 启动应用之后,有些浏览器会提示如下告警信息: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access. 这个是典型的跨域问题。浏览器为了安全考虑,不同的域之间是不能够互相访问的的。 比如,Angular 应用部署在本地的4200端口,而 Java 服务部署在8080端口,他们虽然是同台机子,但仍然是不同的域。Angular 应用视图通过HttpClient 去访问 Java 的 http://localhost:8080/hello 接口是不允许的。 如何解决跨域问题 在知道了什么是跨域之后,解决方案就有多种。 1. 避免跨域 既然,分开部署导致了跨域,那么最简单的方式莫过于避免分开部署,即Angular 与 Java 同时部署到同个...
- 下一篇
Spring Boot(11)——使用Spring Cache
使用Spring Cache Spring提供了Cache抽象,它允许我们声明哪些bean的哪些方法的外部调用需要使用Cache。方法调用使用了Cache后,在调用真实方法前会先从缓存中获取结果,缓存中如果没有则会调用真实方法,这也是基于AOP实现的。关于Spring Cache的介绍不是本文的重点,如有需要可以参考笔者写的http://elim.iteye.com/blog/2123030。 在Spring Boot应用中使用Spring Cache需要在@SpringBootConfiguration标注的Class上添加@EnableCaching,这样就启用了Spring Cache。Spring Boot将根据Classpath下提供的Spring Cache实现类选择合适的实现者进行自动配置,支持的实现有基于Ehcache的实现、基于Redis的实现等,详情可参考org.springframework.boot.autoconfigure.cache.CacheConfiguration的源码。如果没有找到,则会使用基于ConcurrentMap的实现。 下面的代码中就启用...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS关闭SELinux安全模块
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库