CMSware数据库调用CMS SQL
导航:返回上一页
该调用标签可实现对数据库的直接查询调用.
本标签对应的系统调用函数为CMS_SQL()。
CMS_SQL调用支持page分页、支持使用“#TABLE_HEADER#” 符号替换表名、支持子查询。只支持当前数据库帐号能访问的数据库,要查询远程数据库,可以单独用mysql_connect创建一个远程连接,再进行独立查询
属性
必需
默认值
描述
query 是 - 数据库查询语句 例如query=“SELECT * FROM cmsware_site”
Num 否 - 调用条数
- Num="": 基于SQL语句
- Num="10,20": 从第10条以后(11条)开始调用,共20条记录
- Num="page-15":分页调用,每页15条
- Num="20":调用用20条
Tpl 否 - 指定调用的子模版
- Tpl="list_style_1.html": 调用子模版“list_style_1.html”
Cache 否 - 模版中的CMS调用通过使用Cache,可以大幅提升批量更新的效率. 该标签只有门户版可用
- Cache="1": 特别注意,只有模版公共调用的部分使用Cache 才有效果,比如内容页头部的导航NODELIST调用,或者top10之类的调用,结点首页的page-10分页调用最好不要用Cache, 因为不会提升任何效率.
returnKey 否 - 可以定义内容列表记录返回那些字段,一般列表只需要获得Title即可,而无需返回Content 等字段,使用此属性,可以一定程度上提高更新效能。 该标签只有门户版可用
- returnKey="Title,Keywords":返回标题和关键词字段
键名
类型
描述
返回2维数组($List),该数组的组成基于查询语句的返回字段,如果查询语句包含NodeID的返回字段,List数组会自动附加以下键值
NodeInfo array 结点信息数组,具体组成参见{cmsware}/sysdata/sysinfo /node000x.php
NodeName string 结点名称
NodeURL string 结点首页URL
例子 1:结点数据库调用
调用代码:
[$var.Name]
例子 2:复杂分页调用
调用代码:
[$var.Title]
[@list_page( $PageInfo.TotalPage, $PageInfo.CurrentPage, $PageInfo.URL)]
例子 3:调用discuz公告和新贴
- 调用公告:
[@CsubStr($var.subject,0,15,"")]
为取公告标题的前15个字符,并且后面不加 "..."
若论坛和思维(CMSware)安装在同一数据库,则上述语句为:
Num="4" 指定调用的条数为4条
[$BBS_URL]:你在模版变量管理设置的论坛路径。在模版变量管理将这个变量的值改为您的论坛路径即可
- 调用ID为1的论坛新贴:
@date("Y-m-d", $var.PublishDate) [$var.title]
- 调用所有的论坛新贴:
@date("Y-m-d", $var.PublishDate) [$var.title]
[$BBS_URL]:你在模版变量管理设置的论坛路径。在模版变量管理将这个变量的值改为您的论坛路径即可
DATABASE为discuz安装的数据库、换成你自己的(默认为 cdb),TABLEPRE为表前缀、换成你自己的(默认为cdb)。
例子 4:调用VBB论坛新帖子和公告
- 调用VBB论坛新帖子:
[@CsubStr($var.title,0,15,"")]
- 调用VBB论坛公告:
说明:
"select announcementid,title from newvbbcore.vbb_announcement order by announcementid DESC"--“newvbbcore.”为VBB安装数据库,和思维(CMSware)在同一数据库时此处留空;“vbb_”为数据表前缀,没有前缀时留空;
"[$BBS_URL]announcement.php?a=[$var.announcementid]&f=3" ,特别注意这里“f=3”的3为版块号,调用公告时必须指定一个版块号
例子 5:统计编辑工作量
调用代码:
统计日期[$Custom1] 到 [$Custom2] 的稿件数量
模型号:[$vartable]
人员ID号,稿件数量
[$var.userid] , [$var.nums]
用动态发布实现,传入URL参数按顺序分别为:此模版绑定的文章IndexID,0,开始日期,结束日期 (注意:统计日期条件是前等后不等)
(示例:
如果是iis,由于不支持pathinfo传递参数,请用下面这种形式
(示例: