站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
CMSware数据库调用CMS SQL
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
<span style="border:1px solid #000; float:right; text-align:center; padding:6px;"><strong>导航:</strong>[[CMSware模板制作指南#模板调用|返回上一页]]</span> <div style="clear:both;"></div> 该调用标签可实现对数据库的直接查询调用. 本标签对应的系统调用函数为CMS_SQL()。 CMS_SQL调用支持page分页、支持使用“#TABLE_HEADER#” 符号替换表名、支持子查询。只支持当前数据库帐号能访问的数据库,要查询远程数据库,可以单独用mysql_connect创建一个远程连接,再进行独立查询 {|border="1" !属性 !必需 !默认值 !描述 |- |colspan="4"| <CMS action="SQL" return="List" query="" Num="" Tpl="" Cache="" returnKey="" /> |- |query |是 | - | [[数据库]]查询语句 例如query=“SELECT * FROM cmsware_site” |- |Num |否 | - | 调用条数 * Num="": 基于SQL语句 * Num="10,20": 从第10条以后(11条)开始调用,共20条记录 * Num="page-15":分页调用,每页15条 * Num="20":调用用20条 注意:当你使用Num参数时,不要再在query的[[sql]]语句中使用Limit 语法。 |- |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":返回标题和关键词字段 |} <br /> {|border="1" style="text-align:center;" !键名 !类型 !描述 |- |colspan="3"| 返回2维数组($List),该数组的组成基于查询语句的返回字段,如果查询语句包含NodeID的返回字段,List数组会自动附加以下键值 |- |NodeInfo |array |结点信息数组,具体组成参见{cmsware}/sysdata/sysinfo /node000x.php |- |NodeName |string |结点名称 |- |NodeURL |string |结点首页[[URL]] |} '''例子 1:结点数据库调用''' 调用代码: </pre> <CMS action="SQL" return="List" query="select * from cmsware_site where Disabled=0" /> <loop name="List" var="var" key="key" > <a href="[$var.NodeURL]">[$var.Name]</a><br> </loop> <pre> '''例子 2:复杂分页调用''' 调用代码: <pre> <CMS action="SQL" return="List" query="select i.URL,c.ContentID,c.Title,c.Content from #TABLE_HEADER#content_1 c left join #TABLE_HEADER#content_index i ON i.ContentID=c.ContentID order by c.ContentID DESC" Num="page-20" /> <loop name="List" var="var" key="key" > <a href="[$var.URL]"> [$var.Title] </a><br> </loop> [@list_page( $PageInfo.TotalPage, $PageInfo.CurrentPage, $PageInfo.URL)] </pre> '''例子 3:调用discuz公告和新贴''' *调用公告: <pre> <CMS action="SQL" return="List" query="select id,subject from DATABASE.TABLEPRE_announcements order by id DESC" Num="4" /> <ul> <loop name="List" var="var" key="key"> <li><a class=black href="[$BBS_URL]announcement.php?id=[$var.id]#[$var.id]" target="_blank">[@CsubStr($var.subject,0,15,"")]</a> <li> </loop> </ul> </pre> [@CsubStr($var.subject,0,15,"")] 为取公告标题的前15个字符,并且后面不加 "..." 若论坛和思维([[CMSware]])安装在同一数据库,则上述语句为: <pre> <CMS action="SQL" return="List" query="select id,subject from TABLEPRE_announcements order by id DESC" Num="4" /> </pre> Num="4" 指定调用的条数为4条 [$BBS_URL]:你在模版变量管理设置的[[论坛路]]径。在模版变量管理将这个变量的值改为您的论坛路径即可 *调用ID为1的论坛新贴: <pre> <CMS action="SQL" return="List" query="select tid,fid,subject as title,dateline as PublishDate from DATABASE.TABLEPRE_threads WHERE fid IN('1') order by tid DESC" Num="10" /> <LOOP name="List" var="var" key="key"> <!--调用前10条记录--> <li><span>[[@date("Y-m-d", $var.PublishDate)]]</span><a href="[$BBS_URL]viewthread.php?tid=[$var.tid]" title="[$var.Title]" target="_blank"> [$var.title]</a> <br> </LOOP> </pre> *调用所有的论坛新贴: <pre> <CMS action="SQL" return="List" query="select tid,subject as title,dateline as PublishDate from DATABASE.TABLEPRE_threads order by tid DESC" Num="10" /> <LOOP name="List" var="var" key="key"> <!--调用前10条记录--> <li><span>[[@date("Y-m-d", $var.PublishDate)]]</span><a href="[$BBS_URL]viewthread.php?tid=[$var.tid]" title="[$var.Title]" target="_blank"> [$var.title]</a> <br> </LOOP> </pre> [$BBS_URL]:你在模版变量管理设置的论坛路径。在模版变量管理将这个变量的值改为您的论坛路径即可 <pre> <CMS action="SQL" return="List" query="select id,subject from DATABASE.TABLEPRE_announcements order by id DESC" Num="4" /> </pre> DATABASE为discuz安装的数据库、换成你自己的(默认为 cdb),TABLEPRE为表前缀、换成你自己的(默认为cdb)。 '''例子 4:调用VBB论坛新帖子和公告''' *调用VBB论坛新帖子: <pre> <CMS action="SQL" return="List" query="select postid,title from newvbbcore.vbb_post order by postid DESC" Num="4" /> <loop name="List" var="var" key="key"> <li> <a href="[$BBS_URL]showthread.php?p=[$var.postid]#post[$var.postid]" target="_blank">[@CsubStr($var.title,0,15,"")]</a> </li> </loop> </pre> *调用VBB论坛公告: <pre> <CMS action="SQL" return="List" query="select announcementid,title from newvbbcore.vbb_announcement order by announcementid DESC" Num="5" /> <loop name="List" var="var" key="key"> <P><a class=black href="[$BBS_URL]announcement.php?a=[$var.announcementid]&f=3" target="_blank">[@CsubStr($var.title,0,15,"")]</a> </P> </loop> </pre> 说明: "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:统计编辑工作量''' 调用代码: <pre> <!--#CW# 统计一段时间内各编辑人员发表内容的数量 用动态发布实现,传入URL参数按顺序分别为:此模版绑定的文章IndexID,0,开始日期,结束日期 (注意:统计日期条件是前等后不等) 示例:http://cmsware/publish/content.php/231,0,2006-01-31,2006-06-02.html 如果是iis不支持pathinfo传递参数,请用下面这种形式 示例:http://cmsware/publish/content.php?IndexID=231& Page=0,2006-01-31,2006-06-02.html #CW#--> 统计日期[$Custom1] 到 [$Custom2] 的稿件数量 <br /> <br /> <!--#CW# 如果统计速度很慢,请给content_index内容索引表和content_*的内容模型表中的字段ContentID和CreationDate和 CreationUserID都加上索引,普通索引就可 #CW#--> <op exp=" $tableid_list = array('1','2','3','4','5','6') " /> <!--#CW# 需要统计的内容模型号列表 #CW#--> <loop name="tableid_list" var="vartable" key="keytable"> <br /><br /> 模型号:[$vartable] <hr> <cms action="SQL" return="List" query="SELECT CreationUserID userid,COUNT(IndexID) nums FROM cmsware_content_index i Left Join `cmsware_content_{$vartable}` c ON i.ContentID=c.ContentID WHERE i.Type=1 and i.State=1 and ( CreationDate>=UNIX_TIMESTAMP('{$Custom1}') and CreationDate<UNIX_TIMESTAMP('{$Custom2}') ) GROUP By CreationUserID" /> <!--#CW# SELECT CreationUserID userid,COUNT(IndexID) nums FROM cmsware_content_index i Left Join `cmsware_content_[$vartable]` c ON i.ContentID=c.ContentID WHERE i.Type=1 and i.State=1 and ( CreationDate>=UNIX_TIMESTAMP('[$Custom1]') and CreationDate<UNIX_TIMESTAMP('[$Custom2]') ) GROUP By CreationUserID #CW#--> 人员ID号,稿件数量<br /> <loop name="List" var="var" key="key"> [$var.userid] , [$var.nums]<br /> </loop> </loop> </pre> 用动态发布实现,传入URL参数按顺序分别为:此模版绑定的文章IndexID,0,开始日期,结束日期 (注意:统计日期条件是前等后不等) (示例:<nowiki>http://cmsware/publish/content.php/231,0,2006-01-31,2006-06-02.html</nowiki>) 如果是iis,由于不支持pathinfo传递参数,请用下面这种形式 (示例:<nowiki>http://cmsware/publish/content.php?IndexID=231& Page=0,2006-01-31,2006-06-02.html</nowiki>) ==参考来源== *[http://www.lonmo.com/cmsware/manual/ 参考来源] [[category:CMSware]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)