按天分表后查询分页(查询表计算方法)
来源:互联网 发布:软件中的冒烟测试 编辑:程序博客网 时间:2024/06/05 10:45
/**
* 分页计算方法
* @param
* @param $page 当前第几页
* @return array
*/
private function tableCount( $totalNum,$page){ $prevNum = ($page-1) * 15; //之前页面条数 $nowNum = $i = 0; $resArr = array(); $arrNum = count($totalNum); foreach($totalNum as $key => $value){ $nowNum += $value[1]; //当前总条数 //大于上页数据则为当前页需要显示数据 if($nowNum > $prevNum){ if($resArr){ $alyNum = 0; foreach($resArr as $k => $v){ $nArr = explode(",",$v['nums']); $alyNum += $nArr[1]; } $offset = $value[1]-($nowNum - $prevNum)+$alyNum; $pagesize = ((15-$alyNum) < $value[1]) ? (15-$alyNum) : $value[1]; }else{ $offset = $value[1]-($nowNum - $prevNum); $pagesize = ($nowNum - $prevNum > 15) ? 15 : ($nowNum - $prevNum); } $resArr[$key]['dates'] = $value[0]; $resArr[$key]['nums'] = $offset.",".$pagesize; } $i++; //满足最后一页查询不足15条 //足够当前页显示则返回 if($pagesize == 15 || $i == $arrNum){ return $resArr; } }}
返回格式(跨表后会有多个值):
Array( [0] => Array ( [dates] => 20170922 //表名 [nums] => 0,15 //$offset,$pagesize ))
网上也是看了徐版主的思路写的,下边附上徐版主的思路截图,网上还有很多说利用union和关联表查询的方法,感觉这些方法会很慢,而且当查询的表多了sql也不美观 , 直接放弃了
欢迎各位大牛指正或交流更好的实现方法
阅读全文
0 0
- 按天分表后查询分页(查询表计算方法)
- Mysql(Laravel)实现按天分组查询数据
- Mycat 源码修改-实现分表规则:按天分表和取摸分表查询
- mysql 查询语句按天分组统计
- SQL 查询分页,排序后分页查询
- 多表查询分页
- Oracle分页查询存储过程(适用于单表查询)
- Oracle分页查询语句(单表)
- spring-boot 分页查询(关联表)
- spring-boot 分页查询(关联表)
- sql 复杂查询 多表查询 分页查询
- oracle 多表查询,子查询,集合运算,分页查询
- group by 分组查询、分页查询、连表查询
- 多表查询结果,分页
- phpcms 多表查询分页
- Mysql多表分页查询
- mybatis分页多表查询
- mysql 表分区 按天分区
- kafka
- 【FAQ】Word组件Spire.Doc 技术FAQ汇总 | 附下载
- 2017西安网络赛 E. Maximum Flow F. Trig Function 组合数
- nova 对instance的start instance 操作的log
- [leetcode] 437. Path Sum III
- 按天分表后查询分页(查询表计算方法)
- EditText 限制只能输入字母和数字,并且字母自动大写
- TimesTen JMS/XLA 实现 Trigger 功能
- Scribe日志收集系统介绍
- redis cluster和redis sentinel的一些文章
- linux时间同步ntp服务的安装与配置
- 有关http和WebSocket 的区别
- Android项目小集
- Android Studio修改包名及问题