分表后的查询
来源:互联网 发布:解压出现数据错误 编辑:程序博客网 时间:2024/04/29 19:16
public function getDouRecordList($sql,$p){$totals = 0;$listRows = 20;$record1Arr = $record2Arr= array();$recordNum1 = M('users_jd_log')->where($sql)->count();$recordNum2 = M('users_jd_log_1y')->where($sql)->count();$recordNum3 = M('users_jd_log_3m')->where($sql)->count();$totals = $recordNum1+$recordNum2+$recordNum3;if($totals){import("@.ORG.Page");$page = new Page($totals,$listRows); //总的page数$curpage = $p ? $p: 1; //当前页面$curoffset= ($curpage-1)*$listRows; //页面偏移量$lastTotals = $curoffset; //偏移量之前的总条数//定位页面偏移量if($lastTotals <= $recordNum1){$offsetFlag = 1;$offset = $curoffset;}else if($lastTotals <=($recordNum1+$recordNum2)){$offsetFlag = 2;$offset = $curoffset-$recordNum1;}else if($lastTotals <=($recordNum1+$recordNum2+$recordNum3)){$offsetFlag = 3;$offset = $curoffset -$recordNum1-$recordNum2;}else{$offsetFlag = 3;$offset = $curoffset -$recordNum1-$recordNum2;}$recordTableArr = array('1'=>'users_jd_log','2'=>'users_jd_log_3m','3'=>'users_jd_log_1y');$curTable = $recordTableArr[$offsetFlag];$record1Arr = M($curTable)->where($sql)->limit("{$offset},{$listRows}")->select(); if(count($record1Arr)<$listRows){foreach($recordTableArr as $key=>$val){if($offsetFlag < $key) $nexTableArr[$key] = $val; } $listRows = $listRows-count($record1Arr);if($nexTableArr){foreach($nexTableArr as $k=>$v){$nextRecordTable = $v;$nextOffset = 0; //默认下张表的偏移量是0;$nextNumTotals = "recordNum".$key;$tmpArr = array();while($nextOffset < $$nextNumTotals){ //不断查询表信息得到数据$rArr = M($nextRecordTable)->where($sql)->limit("{$nextOffset},{$listRows}")->select();$nextOffset +=$listRows;if($rArr){foreach($rArr as $k=>$v) $tmpArr[] = $v;}if(count($tmpArr)==$listRows) break;}if($tmpArr){foreach($tmpArr as $k=>$v) $record1Arr[] = $v;$listRows -= count($tmpArr);}if($listRows==0) break;}}}return array('page'=>$page,'record'=>$record1Arr);}}
0 0
- 分表后的查询
- Hibernate的查询 HQL查询 查询某几列
- Hibernate的查询 HQL查询 查询某几列
- Hibernate的查询 HQL查询查询某几列
- Hibernate的查询 HQL查询 查询某几列
- Hibernate的查询 HQL查询
- 嵌套查询的查询优化
- mysql查询一天,查询一周,查询一个月的数据
- mysql查询一天,查询一周,查询一个月的数据
- mysql查询一天,查询一周,查询一个月的数据
- MySQL查询的性能优化 - 查询缓冲提高查询速度
- MYsql 查询 查询当前月份的数据(时间 查询)
- 【mysql】mysql的查询、子查询及连接查询
- mysql的查询、子查询及连接查询
- mysql查询一天,查询一周,查询一个月的数据
- mysql的查询、子查询及连接查询
- mysql查询一天,查询一周,查询一个月的数据
- mysql的查询、子查询及连接查询
- spring Autowire属性
- iPhone / iPod Touch 文件传输解决方案 – 开源框架:Cocoa Web Resource Project
- [百度贴吧] 关于百度贴吧的帖子定位
- xp新建用户后登陆界面不显示Administrator账号
- (实践)eclipse中安装velocity插件
- 分表后的查询
- WindowsCE 应用程序开发(基于EVC)
- Cocos2d-x 的“HelloWorld” 深入分析
- asterisk配置会议室meetme.conf
- 银行业务调度系统
- Div的边框和透明度
- iOS正则表达式最佳实践
- Linux 信号signal处理机制
- InstallShield Error:Internal build error.Error Code:6041