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 mylistinfo($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;
}
}
?>

使用方法:

$this->get_db = pc_base::load_model('get_model');
$page = intval($_GET['page']);
$infos = $this->get_db->mylistinfo($where,$page);
$pages = $this->get_db->pages;

http://www.chanyinkeji.com/phpcms-jiaocheng/10.html

phpcms v9后台多表查询分页代码的更多相关文章

  1. phpcms v9后台登陆验证码无法显示,怎么取消验证码

    phpcms v9后台登陆验证码无法显示论坛里关于这个问题貌似一直没有解决,查看源代码后发现,关键一点是获取验证码的图片与全局变量SITE_URL相关,也就是网站的目录, 所以只要修改cache/co ...

  2. 解决PhpCms V9后台无法上传图片

    PHPCMS V9 在近期一次更新的版本号(9.4.2)中因为代码推断失误.导致PHPCMS在后台更新文章无法上传图片而导致的bug.在PHPCMS论坛中找到了暂时解决方式,希望PHPCMS官方能尽快 ...

  3. phpcms v9 后台添加修改页面空白页问题解决方法

    phpcms v9 添加修改页面空白页的解决方法 找一个正常运行的phpcms 将caches\caches_model\caches_data 目录下的 content_form.class.php ...

  4. phpcms v9后台美化需要修改的部分整理

    PHPcms后台登陆后的页面修改 Phpcms->modules->admin->templates->main.tpl.php 1,安全提示部分 <h6>< ...

  5. phpcms V9 后台验证码图片不显示

    某个网站在本地运行成功,上传到服务器上后,发现后台登陆的验证码图片不显示 根据网上提供的解决方案, 网站路径变量web_path没问题 database.system的配置路径没问题 apache的G ...

  6. 取消PHPCMS V9后台新版本升级提示信息

    方法非常简单,只要找到文件: phpcms/libs/classes/update.class.php 文件,修改第50行的代码(大概位置): function notice() { return $ ...

  7. phpcms v9全站点击量排行代码

    前台: <ul> {pc:content action="sitehits" siteid="1" num="10" order ...

  8. drupal 连表查询+分页

    $query = db_select('Table','t'); $query->join('Table_A','a','on条件); $query->join('Table_B','b' ...

  9. phpcms v9 后台首页 去掉团队信息等版权

    phpcms\languages\zh-cn\admin.lang.php $LANG['main_product_team'] = 'PHPCMS开发团队'; phpcms\modules\admi ...

随机推荐

  1. Codeforces 444C DZY Loves Colors(线段树)

    题目大意:Codeforces 444C DZY Loves Colors 题目大意:两种操作,1是改动区间上l到r上面德值为x,2是询问l到r区间总的改动值. 解题思路:线段树模板题. #inclu ...

  2. 微软雅黑字体IE6 opacity改变,字体会变样子

    微软雅黑字体IE6 opacity改变,字体会变样子,换个字体就好了

  3. 数据库通用Jdbc操作

    public class JdbcUtil { /** * 关闭一个数据库链接 * @param conn */ public static void closeConnection(Connecti ...

  4. MySQL创建/删除/清空表,添加/删除字段

    创建表: create table tablename (column_name column_type); create table table_name( id int not null auto ...

  5. 【排障】tomact未能看到网页

    [排障]tomact未能看到网页 文:食梦貘 这是几个月前的事情了,那时候我在安装xwiki,需要用到tomcat,但是初次安装好时碰上过一个故障: 安装tomcat后,客户机用IE网址上输入:服务端 ...

  6. Spring 的@Controller 和@RestController的区别

    @RestController Spring 4.0中新增的特性 @RestController 继承自 @Controller,相当于@ResponseBody + @Controller   1. ...

  7. [转]Oracle开发专题之:%TYPE 和 %ROWTYPE

    本文转自:http://www.cnblogs.com/kingjiong/archive/2009/02/19/1393837.html 1. 使用%TYPE 在许多情况下,PL/SQL变量可以用来 ...

  8. Javascript日期处理类库Moment.js

    1.组件详情地址Moment.js中文网 http://momentjs.cn/ 2.几个方法: (1) 日期格式化 moment().format(); // 2016-02-29T14:03:30 ...

  9. linux版本qq的安装

    下载http://download.csdn.net/detail/gg296231363/3728117原谅我吧,1分而已,可以自己google,到处有. tar xzvf linuxqq_v1.0 ...

  10. hdu 1092 A+B for Input-Output Practice (IV)

    A+B for Input-Output Practice (IV) Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/327 ...