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多表联合查询分页功能实现相关推荐

  1. java 索取了多表联合查询分页,mybatis-plus多表联合分页查询

    1.entity层要写个Vo实体类 2.controller @AutoLog(value = "员工CURD-分页列表查询") @ApiOperation(value=" ...

  2. RDIFramework.NET 中多表关联查询分页实例

    RDIFramework.NET 中多表关联查询分页实例 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.Net框架部署方案.该框架以SOA范式作为 ...

  3. mysql多表联查分页_sqlserver多表联合查询和多表分页查询的代码讲解

    sqlserver多表联合查询和多表分页查询的代码讲解 发布时间:2020-05-14 14:42:07 来源:亿速云 阅读:700 作者:Leah 这篇文章主要为大家详细介绍了sqlserver多表 ...

  4. mybatis plus 查询排序,Mybatis Plus带多条件的多表联合、分页、排序查询

    背景 使用mybatis-plus单表操作十分方便,但是多表联合查询感觉又回归到xml时代了,我个人比较喜欢注解的方式,但是xml要更灵活 问题点:多表多条件联合查询 时间段查询 分页查询 sprin ...

  5. Jeecg-多表联合查询

    需求 Jeecg提供的生成工具满足了最普遍的代码功能,也将代码最简化,但在业务处理中常出现多表联合查询的需求,比如两表条件联合查询,而mybatis-plus框架使用的QueryWrapper显然无法 ...

  6. 第四篇:Mysql查询-多表联合查询-及子查询

    mysql查询语句 多表联合查询 几子查询 1,单表查询:select * from 表名; eg:  select * from t1; 2,按条件查询: select 字段1,字段2,字段n... ...

  7. 多表联合查询存储过程

    多表联合查询存储过程,@doCount为1时返回查询总数. ------------------------------------ --支持任意排序的分页存储过程 --魏金梁 ----------- ...

  8. MyBatis 多表联合查询及优化

    关于优化 对于优化嘛,我这里简单的提几点,大家可以考虑一下.首先,就是对表的设计,在设计表初期,不仅仅要考虑到数据库的规范性,还好考虑到所谓的业务,以及对性能的影响,比如,如果从规范性角度考虑的话,可 ...

  9. mysql多表查询分页面_mysql多表联合查询分点经验给大家

    你的位置: 问答吧 -> MySQL -> 问题详情 mysql多表联合查询分点经验给大家 我在工作中天天研究zen cart的程序,那个叫人痛苦,最近比较痛苦的是经常碰见mysql多表联 ...

最新文章

  1. 一个“人工智能Python机器学习与深度学习”课程表
  2. 四种方法解决最大连续子序列和问题
  3. 【bzoj2186】[Sdoi2008]沙拉公主的困惑 欧拉函数
  4. C#中如何 处理 TCP中的TIME_WAIT
  5. 【FFmpeg】FFmpeg常用基本命令(转载)
  6. 数学 - 线性代数导论 - #10 线性相关性、向量空间的基和维数
  7. mysql 查询表结构
  8. STM32工作笔记0044---什么是二极管什么是三极管
  9. canvas填充和描边介绍
  10. cpu上干硅脂怎么清理_cpu导热硅脂如何涂抹,涂抹的时候需要注意哪些事项
  11. 20190901 On Java8 第十五章 异常
  12. potplayer如何添加m3u直播源_拼多多个人直播流量怎么来?直播如何添加个人商品...
  13. 基础篇:源码 Linux+Apache+PHP+MySQL环境配置方法-08CMS网站
  14. 显卡的性能看哪些参数?
  15. idea svn update 时不弹出选择分支的对话框,don't show this dialog in the furture解决方案
  16. 前端小技巧(2)-performance.timing属性介绍
  17. 数字化时代,基于令牌的身份验证是如何工作?
  18. 都市丽人全方位能力升维,增长驱动力强劲
  19. 原始数据都一样,为啥Pyecharts做出来的图一个是彩色的,另一个是黑白的?
  20. (json web token)JWT攻击

热门文章

  1. SharePoint中修改密码的WEB Part之终极版:即可以修改AD,又可以修改本机用户密码的Web Part!!...
  2. sql输出表中重复数据
  3. 将你的前端应用打包成docker镜像并部署到服务器?仅需一个脚本搞定
  4. koa+mysql+vue+socket.io全栈开发之web api篇
  5. IT 学习资料 大全
  6. git中Please enter a commit message to explain why this merge is necessary.
  7. 2018-07-09--记录一次gitlab迁移事件及遇到的问题
  8. salt-api timeout 执行超时问题解决
  9. Oracle.ManagedDataAccess.dll 连接Oracle数据库不需要安装客户端
  10. jS字符串大小写转换实现方式