phpcmsv9多表联合查询分页功能实现
phpcms v9里面自带的listinfo分页函数蛮好用的,可惜啊。不支持多表查询并分页。
看了一下前台模板层支持get标签,支持多表查询,支持分页。刚好可以把这个功能搬到后台来使用。
我们现在对get_model.class.php进行改造使他能支持多表查询并分页,分享给大家
<?php defined('IN_PHPCMS') or exit('No permission resources.'); pc_base::load_sys_class('model', '', 0); class get_model extends model {public $db_config, $db_setting;public function __construct($db_config = array(), $db_setting = '') {if (!$db_config) {$this->db_config = pc_base::load_config('database');} else {$this->db_config = $db_config;}if (!$db_setting) {$this->db_setting = 'default';} else {$this->db_setting = $db_setting;}parent::__construct();if ($db_setting && $db_config[$db_setting]['db_tablepre']) {$this->db_tablepre = $db_config[$db_setting]['db_tablepre'];}}public function sql_query($sql) {if (!empty($this->db_tablepre)) $sql = str_replace('phpcms_', $this->db_tablepre, $sql);return parent::query($sql);}public function fetch_next() {return $this->db->fetch_next();}//自定义分页查询{支持多表}public function multi_listinfo($where = '', $page = 1, $pagesize = 20, $key='', $setpages = 10,$urlrule = '',$array = array()) {$sql = preg_replace('/select([^from].*)from/i', "SELECT COUNT(*) as count FROM ", $where);$this->sql_query($sql);$c = $this->fetch_next();$this->number = $c['count'];$page = max(intval($page), 1);$offset = $pagesize*($page-1);$this->pages = pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);$r = $this->sql_query($where.' LIMIT '.$offset.','.$pagesize);while(($s = $this->fetch_next()) != false){$data[] = $s;}return $data;} } ?>
使用方法和listinfo一样:
$this->get_db = pc_base::load_model('get_model'); $page = intval($_GET['page']); $infos = $this->get_db->muti_listinfo($where,$page); $pages = $this->get_db->pages;
本文转自:http://www.chanyinkeji.com/phpcms-jiaocheng/10.html
转载于:https://www.cnblogs.com/mengdejun/p/3824854.html
phpcmsv9多表联合查询分页功能实现相关推荐
- java 索取了多表联合查询分页,mybatis-plus多表联合分页查询
1.entity层要写个Vo实体类 2.controller @AutoLog(value = "员工CURD-分页列表查询") @ApiOperation(value=" ...
- RDIFramework.NET 中多表关联查询分页实例
RDIFramework.NET 中多表关联查询分页实例 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.Net框架部署方案.该框架以SOA范式作为 ...
- mysql多表联查分页_sqlserver多表联合查询和多表分页查询的代码讲解
sqlserver多表联合查询和多表分页查询的代码讲解 发布时间:2020-05-14 14:42:07 来源:亿速云 阅读:700 作者:Leah 这篇文章主要为大家详细介绍了sqlserver多表 ...
- mybatis plus 查询排序,Mybatis Plus带多条件的多表联合、分页、排序查询
背景 使用mybatis-plus单表操作十分方便,但是多表联合查询感觉又回归到xml时代了,我个人比较喜欢注解的方式,但是xml要更灵活 问题点:多表多条件联合查询 时间段查询 分页查询 sprin ...
- Jeecg-多表联合查询
需求 Jeecg提供的生成工具满足了最普遍的代码功能,也将代码最简化,但在业务处理中常出现多表联合查询的需求,比如两表条件联合查询,而mybatis-plus框架使用的QueryWrapper显然无法 ...
- 第四篇:Mysql查询-多表联合查询-及子查询
mysql查询语句 多表联合查询 几子查询 1,单表查询:select * from 表名; eg: select * from t1; 2,按条件查询: select 字段1,字段2,字段n... ...
- 多表联合查询存储过程
多表联合查询存储过程,@doCount为1时返回查询总数. ------------------------------------ --支持任意排序的分页存储过程 --魏金梁 ----------- ...
- MyBatis 多表联合查询及优化
关于优化 对于优化嘛,我这里简单的提几点,大家可以考虑一下.首先,就是对表的设计,在设计表初期,不仅仅要考虑到数据库的规范性,还好考虑到所谓的业务,以及对性能的影响,比如,如果从规范性角度考虑的话,可 ...
- mysql多表查询分页面_mysql多表联合查询分点经验给大家
你的位置: 问答吧 -> MySQL -> 问题详情 mysql多表联合查询分点经验给大家 我在工作中天天研究zen cart的程序,那个叫人痛苦,最近比较痛苦的是经常碰见mysql多表联 ...
最新文章
- 一个“人工智能Python机器学习与深度学习”课程表
- 四种方法解决最大连续子序列和问题
- 【bzoj2186】[Sdoi2008]沙拉公主的困惑 欧拉函数
- C#中如何 处理 TCP中的TIME_WAIT
- 【FFmpeg】FFmpeg常用基本命令(转载)
- 数学 - 线性代数导论 - #10 线性相关性、向量空间的基和维数
- mysql 查询表结构
- STM32工作笔记0044---什么是二极管什么是三极管
- canvas填充和描边介绍
- cpu上干硅脂怎么清理_cpu导热硅脂如何涂抹,涂抹的时候需要注意哪些事项
- 20190901 On Java8 第十五章 异常
- potplayer如何添加m3u直播源_拼多多个人直播流量怎么来?直播如何添加个人商品...
- 基础篇:源码 Linux+Apache+PHP+MySQL环境配置方法-08CMS网站
- 显卡的性能看哪些参数?
- idea svn update 时不弹出选择分支的对话框,don't show this dialog in the furture解决方案
- 前端小技巧(2)-performance.timing属性介绍
- 数字化时代,基于令牌的身份验证是如何工作?
- 都市丽人全方位能力升维,增长驱动力强劲
- 原始数据都一样,为啥Pyecharts做出来的图一个是彩色的,另一个是黑白的?
- (json web token)JWT攻击
热门文章
- SharePoint中修改密码的WEB Part之终极版:即可以修改AD,又可以修改本机用户密码的Web Part!!...
- sql输出表中重复数据
- 将你的前端应用打包成docker镜像并部署到服务器?仅需一个脚本搞定
- koa+mysql+vue+socket.io全栈开发之web api篇
- IT 学习资料 大全
- git中Please enter a commit message to explain why this merge is necessary.
- 2018-07-09--记录一次gitlab迁移事件及遇到的问题
- salt-api timeout 执行超时问题解决
- Oracle.ManagedDataAccess.dll 连接Oracle数据库不需要安装客户端
- jS字符串大小写转换实现方式