在用phpcms做二次开发的时候就难免不用到多表查询。phpcms提供了一个很好标签给我们合用,那就是get标签,具体用法如下。
{pc:get sql="SELECT title,url FROM v9_news where catid=9 and status=99 order by updatetime desc" start="0" num="4" return="v"}
get标签可以直接写sql查询语句,这个可以根据需求去自由发挥。start为开始数据,num是返回几条数据。return 为返回的数据。
但如果要在程序中实现多表查询怎么办,那就只接可以用$this->db->query($sql)来取得相应的数据。
要是碰到多表的分页查询用query就满足不了相应的功能了,我的做法是改libs/classes/model.class.php,重写listinfo()方法。
/**
* 查询多条数据并分页
* @param $where
* @param $order
* @param $page
* @param $pagesize
* @return unknown_type
*/
final public function mylistinfo($table='',$where = '', $order = '', $page = 1, $pagesize = 20, $key='', $setpages = 10,$urlrule = '',$array = array()) {
$where = to_sqls($where);
$this->number = $this->count($where);
$page = max(intval($page), 1);
$offset = $pagesize*($page-1);
$this->pages = pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
$array = array();
if ($this->number > 0) {
return $this->myselect($table,$where, '*', "$offset, $pagesize", $order, '', $key);
} else {
return array();
}
}
/**
* 执行sql查询
* @param $where 查询条件[例`name`='$name']
* @param $data 需要查询的字段值[例`name`,`gender`,`birthday`]
* @param $limit 返回结果范围[例:10或10,10 默认为空]
* @param $order 排序方式 [默认按数据库默认方式排序]
* @param $group 分组方式 [默认为空]
* @param $key 返回数组按键名排序
* @return array 查询结果集数组
*/
final public function myselect($table='',$where = '', $data = '*', $limit = '', $order = '', $group = '', $key='') {
if (is_array($where)) $where = $this->sqls($where);
return $this->db->select($data, $table, $where, $limit, $order, $group, $key);
}
如上所示,与系统自带的就是多传了个$table,这样我们可以把要查询的多表写成view再传进来就可以实现相应的功能了
分享到:
相关推荐
PHPCMS V9 产品开发权威指南,phpcms_v9_代码分析(一、二、三),phpcms_v9_二次开发及标签制作讲义,PHPCMS_V9安装教程,PHPCMS_V9帮助中心,PHPCMS_V9开发文档,PHPCMS_V9模板制作,phpcms_v9数据表结构,PHPCMS_V9...
phpcms v9标签大全phpcms v9标签大全
phpcms v9 官方教程全集打包下载 第一课时:PHPCMS V9 系统设置 第二课时:PHPCMS V9 使用指南及二次开发向导 第三课时:PHPCMS V9 短消息与新闻心情 第四课时:PHPCMS V9 友情链接与投票 第五课时:PHPCMS V9 ...
phpcms V9产品白皮书phpcms V9产品白皮书
PHPCMS V9 数据结构
PHPCMS V9 UTF8
phpcms v9数据表结构,数据库中所有的表名、作用、列名以及注释详解
PHPCMS V9代码生成器 V1.5版本PHPCMS中国发布 ------------------------------ | PhpCMS V9代码生成器 使用说明 | ------------------------------ 一、平台需求 运行环境:Windows 2000/XP/Vista/Win7 二、...
感谢大家一直以来对PHPCMS的帮助和支持!现发布《PHPCMS V9 用户手册》来帮助大家更直接,更清晰的了解PHPCMS V9
phpcms V9 安装程序。 安装方便,使用简单。
PhpCms V9 函数手册 内容为V9官方代码编译 变量及函数功能引索
phpcms v9帮助文档免费大放送了
PHPCMS V9 修改flash上传为H5上传方案
PHPCMS V9留言板插件2.1 UTF-8版,详细说明看里面的文档
代码审计_PHPCMS_V9前台RCE挖掘分析1
PHPCMS V9(后面简称V9)采用PHP5 MYSQL做为技术基础进行开发。V9采用OOP(面向对象)方式进行基础运行框架搭建。...V9在保留2008版的特点的同时,对新版本作出重大的创新,以期待全新的PHPCMS系统服务更多的用户。
随着智能手机的普及和移动网速的提高,手机网站的需求不断提高,进来不少朋友都会聊到一个话题:手机网站怎么做?今天CMSYOU在这里就与大家分享怎么用PC V9做手机网站,Phpcms V9手机门户设置的具体方法。
phpcms v9 资源管理系统,很不错的后台管理系统。。
PHPCMS V9代码生成器 2.0