thinkphp框架,数据动态缓存后,或数据已读取出来,想分页怎么办

//读取缓存后赋值到数组,通过array_slice函数处理,如:
$blog = S(‘blogname‘); //赋值
$count = count($blog); //条数统计
$page = new Page($count,12); //实例化page类
$this -> Blog = array_slice($blog,$page->firstRow,$page->listRows); //分配到模板
$this -> page = $page -> show();
$this -> display();

改版后

/*
    **相关期望职位推荐简历 数据分页
    **与同控制器下的 get_jianli_hy_tuijian() 方法相结合
    **$list  已获取出来的数据
    **$num   一页显示几个
    **$p     需要第几页的数据
    **
    **方法array_slice(); 可以百度php array_slice方法你就明白了
    ***/
    public function get_tj_jianli_page($list,$num,$p){
        $_GET[‘p‘] = $p;
        $count      = count($list);// 查询满足要求的总记录数
        $Page       = new \Think\Page($count,$num);// 实例化分页类 传入总记录数和每页显示的记录数(25)
        $show       = $Page->show();// 分页显示输出
        $data[‘list‘] = array_slice($list,$Page->firstRow,$Page->listRows); //分配到模板
        $data[‘p‘] = $count / $num > $p ? $p+1 : ‘‘;//只求出下一页
        return $data;
    }

原文地址:https://www.cnblogs.com/zc290987034/p/9319346.html

时间: 2024-10-18 14:28:11

thinkphp框架,数据动态缓存后,或数据已读取出来,想分页怎么办的相关文章

ThinkPHP中的动态缓存(S方法)和快速缓存(F方法)

系统默认的缓存方式是采用File方式缓存,我们可以在项目配置文件里面定义其他的缓存方式,例如,修改默认的缓存方式为Xcache(当然,你的环境需要支持Xcache) 对于File方式缓存下的缓存目录下面因为缓存数据过多而导致存在大量的文件问题,ThinkPHP也给出了解决方案,可以启用哈希子目录缓存的方式. 'DATA_CACHE_SUBDIR'=>true 还可以设置哈希目录的层次,例如 'DATA_PATH_LEVEL'=>2 就可以根据缓存标识的哈希自动创建多层子目录来缓存. S方法支持

Android Socket 发送与接收数据问题: 发送后的数据接收到总是粘包

先说明一下粘包的概念: 发送时是两个单独的包.两次发送,但接收时两个包连在一起被一次接收到.在以前 WinCE 下 Socket 编程,确实也要处理粘包的问题,没想到在 Android 下也遇到了.首先想从发送端能否避免这样的问题,例如: (1) 调用强制刷数据完成发送的函数:(2) 设置发送超时.1 先试了调用 flush() 函数,但运行后现象依旧2 设置发送超时是 Windows 平台的做法,但在 Android 平台下是否有类似的设置呢?查看 Socket 类的实现代码:java.net

thinkPHP框架 简单的删除和修改数据的做法 和 模板继承的意思大概做法

BiaodanController.class.php控制器页面 <?php namespace Admin\Controller; use think\Controller; class BiaodanController extends Controller{ public function zhuyemian(){ $n = D("nation"); $attr = $n->select(); $this->assign("n",$attr)

ThinkPHP框架知识的注意点

ThinkPHP框架 访问入口文件后在application文件夹中会出现一些文件夹,其中的home文件夹是前端模块,也可以在application文件夹中新建文件夹.home文件夹模块中Conf文件夹的config配置文件,是对于当前模块的:修改当前模式convention配置文件是对于全体的配置文件:整体的模式 一.MVC模式(把程序分成3层,也就是三层架构,核心是控制器也就是controller):M:model数据模型层 数据库的相关操作是放在model文件夹中V:view 视图层 模板

Mysql(三) ------数据迁移备份(针对数据量很大的情况)

新跳槽了一家公司,上来就是数据库调优和数据迁移.调优那部分后面再补上来.公司目前用的是5.1的数据库,很老了,而且随着业务的发展需要做读写分离和主从复制.想把所有的数据都挪到新库上去.但这个库大概有60G的数据.主要思路: 1.创建用户,并授权 2.搭建主从,做到主从同步,数据目前先保持一致,在切换主从同步切换ipMysql5.1已有数据量了,为保证数据的一致性.故需要锁库,等数据导入后再解锁 3.需要注意从库和主库的引擎,字符集show variables like 'character_se

项目搭建系列之三:SpringMVC框架下使用Ehcache对象、数据缓存

注明:该文章为以前写的文章,这里只更改了标题,无GitHub源码下载. 一.准备工作 如果已经成功搭建SpringMVC环境,那么就可以进入Ehcache的准备工作了.1.下载jar包    Ehcache 对象.数据缓存:    http://ehcache.org/downloads/destination?name=ehcache-2.9.0-distribution.tar.gz&bucket=tcdistributions&file=ehcache-2.9.0-distribut

动态加载echarts数据,防止动态加载后数据叠加

最近百度echarts用的不要不要的,刚开始legend数据总还是固定的,现在连legend都要自己赋值,难过! c.canaloption = { title: { text: '', }, tooltip: { trigger: 'axis', axisPointer: { type: 'cross', label: { backgroundColor: '#283b56' } } }, legend: { data: [] }, grid: { left: '3%', right: '4%

动态加载页面数据的小工具 javascript + jQuery (持续更新)

使用该控件,可以根据url,参数,加载html记录模板(包含json参数对应,以及具体记录位置Index根据参数描述加载对应的属性,并可以根据简单的判断分支加载对应html或者控件)至列表容器内(JQuery选择器字符串)注: 该控件在使用前需引入JQuery框架支持,使用该控件,可极大的减少Ajax列表数据动态加载开发工作的实际工作量. 使用方式: 首先,添加控件引用,并加入Jquery支持 <script src="js/jquery.js"></script&g

揭秘12306技术改造(三):传统框架云化迁移到内存数据平台

摘要:此篇文章列举不同类型的系统改造迁移到云平台方案,从改造思路探讨,系统框架设计和项目实施的整个迁移过程,供大家参考和交流. 注:本文首发于CSDN,转载请标明出处. [编者按]在年前的「技术揭秘12306改造」专题中,负责12306改造的技术架构师刘云程从技术的角度.用科学论证的方式说明 12306是如何实现高流量高并发的关键技术,以及深入探讨了12306两地三中心混合云架构,今天,他继续为大家带来第三篇:传统框架云化迁移到内存数据平台. 以下为正文>> 摘要 12306混合云成功案例给予