您的位置:首页 > 帝国cms教程

帝国cms 灵动标签内sql语句调用

2021-08-23 09:02:37 帝国cms教程 72

灵动标签默认的语法


[e:loop={栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序}]
模板代码内容
[/e:loop]
案例1
代码:
[e:loop={'select title,titleurl,titlepic from [!db.pre!]ecms_news where classid in(46,47,51) and isgood=1,0,24,0}]
解释:
select title,titleurl,titlepic意为调出:数据表内容的title titleul titlepic字段。
from [!db.pre!]ecms_news意从数据表为ecms_news 的数据表中调出信息,[!db.pre!]是数据表前缀变量,帝国默认的数据表前缀为phome,也就是从phome_ecms_news 中调出信息的意思。


where classid in(46,47,51) 的意思为从栏目id为46,47,51栏目中调出信息,也就是选择条件


and isgood=1 进一步的选择条件,选择其中一级推荐的内容。


所以总结的意思就是从数据库的[!db.pre!]ecms_news数据表中调用出栏目id为46,48,51并且推荐等级为的1一级推荐的内容字段,包括:title,titleurl,titlepic


举一反三
多表信息调用


[e:loop={'select title,titleurl,titlepic from [!db.pre!]ecms_news where classid in(46,47,51) and isgood=1 Union All select title,titleurl,titlepic from [!db.pre!]ecms_download',0,24,0}]


Union 是链接符 意思为调用前面[!db.pre!]ecms_news 数据表内的,还调用下载数据表(ecms_download)内的内容


这里有一个万能的调用方式为


[e:loop={'select * from [!db.pre!]ecms_news where classid in(46,47,51) and isgood=1,0,24,0}]


意思为可调用数据表(ecms_news)栏目(46,47,51)下的所有字段。


可在调用方式中加附加条件,


可指定按相应的字段排序:order by id desc
 

相关推荐