您的位置:HBcms宏博内容管理系统 模板设计 正文
 添加时间:2008-02-14 原文发表:2008-02-14 人气:211


有时候在作模板的时候,有可能需要直接在hbcms模板里读取数据库的内容,怎么作呢? 请看下面的范例:

<{php}>
$mdb = mdbConnection();
$sql = "SELECT * FROM hbcms_article_base WHERE type_id=6 ORDER BY write_date LIMIT 0,10";
$my_data = $mdb->queryAll($sql);
foreach ($my_data as $k => $v) {
  $my_data[$k]['url'] = getHtmlFilename('article_detail', $my_data[$k]['id']);
}

$this->assign('my_data', $my_data);
<{/php}>

上面的代码是程序代码,用途是读取数据库的内容,并赋值给模板变量my_data,下面的代码就是纯模板代码了,用途是把内容显示出来

<table>
<{foreach name=my_data item=item_info from=$my_data}>
<{if $smarty.foreach.my_data.iteration <= 6}>
<TR height=22>
 <TD><{$smarty.foreach.my_data.iteration}>.&nbsp; <A HREF="<{$item_info.url}>"><{$item_info.title|cn_truncate:18:"...":true}></A></TD>
 <TD align=right><{$item_info.write_date|date_format:"%m-%d"}></TD>
</TR>
<{/if}>
<{/foreach}>
</table>

 

模板的循环代码中可以使用的变量是和数据库表的字段一一对应的,详细的数据库表字段请看后台的,系统配置管理,数据库变量,找到对应的表即可。

 

仿照上面的范例,您可以在模板的任何位置直接从数据库读取需要的内容了。

$sql = "SELECT * FROM hbcms_article_base WHERE type_id=6 ORDER BY write_date DESC LIMIT 0,10";

这是sql语句,需要对sql数据库语言略有知识的人才能理解,上面的sql大致解释如下:


读取表hbcms_article_base的内容
条件是分类ID=6
排序是按照write_date字段,倒序排列,大的在前
LIMIT 0,10 是调用数量10条

 

本页地址
相关文章

如何修改模板文件?怎样调试模板?
导航栏自动多行显示
吐血推荐让流量暴涨的代码-把你的文章加入
如何让首页显示网友留言/评论留言?
宏博cms模板里如何调用某个栏目(分类)的文
冰蓝模板如何在首页添加横幅广告
如何给首页的每个栏目增加一个图片文章
Smarty中文手册,Smarty教程
列表页模板变量$data_ary.main_article详解
自动显示导航条连接,解读$web.type模板变量
根据特定的栏目排序属性,显示此栏目的下级
做模板的基础:掌握基本的HTML代码语法
如何修改模板自带的图片?
如何在模板里加上会员登录框?登录后显示会

相关评论

评论人:墨雨2008-04-06
学习了,对我很有帮助

本文章所属分类:首页 模板设计