电脑技术学习

帝国CMS SQL语句调用技巧

dn001

1、标签上面的“操作类型参数要设为24,然后“栏目id为SQL语句;
2、开启支持按SQL语句调用,默认是开启的,如果没有开启:打开e/class/config.php文件进行配置(粗体文字的设置);
//部分参数设置
$do_theloginlog=0; //是否记录登陆日志(0为记录,1为不记录)
$do_thedolog=0; //是否记录操作日志(0为记录,1为不记录)
$do_openbqquery=1; //开启标签支持sql语句查询(0为不支持,1为开启)
$do_openreadfile=0; //开启支持读取本地文件,为了安全,一般情况请不要开启(0为不支持,1为开启)
$do_txtpath="../../d/txt/"//文本型数据存放目录
$saveurlimgclearurl=1; //远程保存图片自动去除图片的链接(0为保留,1为去除)
$ecmsdeftempid=0; //默认模板组ID;
;
3、调用例子。以ecmsinfo为例:;
[ecmsinfo]"select * from phome_ecms_news where classid=1 order by id desc limit 10",10,30,0,24,1,0[/ecmsinfo];
注:显示栏目ID为1的10条新闻表记录


让标签参数支持系统变量说明:以实现按各种条件调用信息数据。;
根据程序扩展变量的说明得出我们可以在标签参数中直接使用“字段值数组变量。

例如:我们要列出所有信息来源相同的10条信息,标签如下(按sql语句调用):
[phomenews]"select * from phome_ecms_news where befrom='".$navinfor[befrom]."' order by id desc limit 10",10,32,0,24,0[/phomenews];
附加说明:$navinfor[字段名]

本月热点排行之类的sql标签;
已带模版的标签为例:
[ecmsinfo]"select * from phome_ecms_news where newstime>SUBDATE(NOW(),INTERVAL 30 DAY) order by onclick desc limit 10",10,30,0,24,7,0[/ecmsinfo]

注意红色部分:
30 是单位(天,当然你也可以修改单位为hour(小时),month(月)等…),自己修改合适的时间。
10 是调用多少条,自己修改为合适。
24 是SQL标签的类型,必须为24系统才会执行前面的SQL。


程序扩展变量说明:通过这些变量可实现各种更复杂的系统.;
1、列表模板变量说明:;
当前栏目id:$navclassid或$GLOBALS[navclassid];
通过这个变量可以输出这个栏目id的所有数据(如:select * from phome_enewsclass where classid='$GLOBALS[navclassid]');
;
2、内容模板变量说明:;
字段值数组:$navinfor

调用方法:$navinfor[字段名],比如要显示"信息ID字段",那在模板里用:<?=$navinfor[id]?>即可输出(要开启模板支持程序代码)

标签: