快速业务通道

Smarty实例教程之三:实例篇(使用PHP内置MYSQL函数)

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
gt;
<td width="296" height="115" valign="top">
<{section name=loop loop=$News_MU}>
<li class="newsfont"><a href="news.php?type=3&id=<{$News_MU [loop].NewsID}>" class="newsfont"><{$News_MU[loop].NewsTitle} ></a>
<{/section}>
</td>
</tr>
</table>

有没有看出有什么不同? loop部分不同,loop指的是要循环的数组, 这里要注意的,不可将多个section的loop指定为同一个值,那样的话Smarty进行分析模板的时候就会将 两个具有相同名字的section同时分析,生成两个一样的记录。

看到这里,有人就会产生疑问: 循环块我已经有了,我怎么才能就它在当前位置只显示我们想要的记录数呢?这个问题简单,我们对 Smarty的section循环块的循环次数控制是在.php文件中控制要替换这个循环块的数组来决定的,在设计 模板时我们不用考虑。

其次,我们再来看看news.tpl:

1. 看这一句:

<title><{$NewsTitle}> ----天骄信息网</title>

将要显示的新闻 页的标题显示为新闻标题 + "----天骄信息网"

2. 新闻标题:

<div align="center" class="NewsTitle"><{$NewsTitle} ></div>

这里又设置了一个模板变量$NewsTitle,意思说要.php将$NewsTitle(包括标题 栏)替换为数据库中当前新闻的标题。

3. 新闻内容:

<p><{$NewsContext} ></p>

这一句也容易,在当前位置显示新闻内容。

当然,这里只是简单的将新 闻列出来了,在实际应用时你还可以把文章出处,发表时间,作者,相关新闻一起列出来,这里就不作 多的讨论了.

三、程序部分:

1. 大家先来看看index.php的源文件,然后我们再来慢慢分 析它的作用:

index.php

<?php
1./*********************************************
*
*文件名:index.php
*作 用:显示实例程序
*
*作者:大师兄
*Email:teacherli@163.com
*修正: forest
*********************************************/
2.include_once ("./comm/Smarty.class.php");//包含smarty类文件
3.define ("NUM",5);//定义每次显示的新闻条数
4.$smarty=newSmarty();//建立smarty实例对 象$smarty
$smarty->templates_dir="./templates";//设置模板目录
$smarty->compile_dir="./templates_c";//设置编译目录
$smarty- >cache_dir="./cache";//设置缓存目录
$smarty- >cache_lifetime=60*60*24;//设置缓存时间
$smarty->caching=false;//这里是调试时设 为false,发布时请使用true
$smarty->left_delimiter="<{";//设置左边界符
$smarty->right_delimiter="}>";//设置右边界符
5.$db=mysql_connect("localhost","root","");
mysql_select_db("News",$db);
//这里将处理国内新闻部分
6.$strQuery="SELECTiNewsID,vcNewsTitleFROMtb_news_chORDERBYiNewsIDDESC";
$result=mysql_query($strQuery);
$i=NUM;
7.while(($row=mysql_fetch_array ($result))&&$i>0)
{
$array[]=array("NewsID"=>substr($row ["iNewsID"],0,40),
"NewsTitle"=>substr($row ["vcNewsTitle"],0,40));
$i--;
}
8.$smarty->assign ("News_CH",$array);
9.unset($array);
mysql_free_result();
10.//这 里处理国际新闻部分
$strQuery="SELECTiNewsID,vcNewsTitleFROMtb_news_inORDERBYiNewsIDDES

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号