快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
C";
$result=mysql_query($strQuery);
$i=NUM;
while(($row=mysql_fetch_array ($result))&&$i>0)
{
$array[]=array("NewsID"=>substr($row ["iNewsID"],0,40),
"NewsTitle"=>substr($row ["vcNewsTitle"],0,40));
$i--;
}
$smarty->assign ("News_IN",$array);
unset($array);
mysql_free_result();
11.//这里 将处理娱乐新闻部分
$strQuery="SELECTiNewsID,vcNewsTitleFROMtb_news_muORDERBYiNewsIDDESC";
$result=mysql_query($strQuery);
$i=NUM;
while(($row=mysql_fetch_array ($result))&&$i>0)
{
$array[]=array("NewsID"=>substr($row ["iNewsID"],0,40),
"NewsTitle"=>substr($row ["vcNewsTitle"],0,40));
$i--;
}
$smarty->assign ("News_MU",$array);
unset($array);
mysql_free_result();
mysql_close($db);
//编译并显示位于./templates下的index.tpl模板
12.$smarty- >display("index.tpl");
?>

为了方便说明,我把每一个要说明 的地方都标了号,下面就来说说每一个部分的作用:

1. 程序注释, 风格问题,我多次在程序中加 这个就是为了让读者也养成这种习惯.

2. 文件包含. 这一句意思是把Smarty的类文件包含到当前 程序文件中.

3. 常数定义: 定义NUM为5,为新闻显示条数

4. 设置Smarty参数: 关于里边 的参数大家可以参考上一节讲过的,这里只想特别说明一下$smarty->cache属性,在我们的程序调试过 程中,要把它设置为false,正式发布的时候将它设计为true就可以实现我们的程序缓存效果.

5. 数据库连接: 这一部分我不用说吧?标准的PHP语句.

6. 进行国内新闻查找SQL语句: 标准的SQL语 句,按新题编号降序排序.

7. while():

这一句控制将要显示的新闻行数.首先给$i赋值为 NUM,NUM为我们在开始外定义的一个常量, 在while()的开始判断处使用$i>0 这个条件,while()每次 循环时要将$i的值减1,这样,当它完成5次循环时while就会结束.

这里我们主要来看看$array[]这 个数组:

$array[]在理论上为一个二维数组,也就是一个数组中的元素为另一个数组,像上例中,当 while()语句结束时,$array就是一个包含5个数组元素的数组,而每一元素又是一个字符索引的数组.而这 些字符索引正是在模板中定义section循环块的$news[loop]的属性值,大家一定要注意这里要与模板循环 块的属性值相对应,否则将不能显示出来!

在构建这个二维数组时我们使用了一个substr()方法进 行字符截取,这个方法在这里仅供参考,实际使用当中因为中文为全角字符,使用它时可能会造成乱码,在 以后的例子中我们将使用另一个网友与的csubstr()函数来实现字符截取功能.

8. 对模板中的 loop = $News_CH的section循环块进行解析.

大家要注意,使用$smarty->assign ("News_CH", $array),assign的第一个参数为section中的loop的值, 第二个参数为上面所建 立的数组.

9. 注销$array: $array[]在使用完后要注销,因为使用赋值语句对$array进行赋值时 不会将它清空,而是将新数组作为它的一个元素增加,为了不产生副作用,这里使用unset()是必需 的.

10. 国际新闻处理模块:

同国内新闻处理模块一样,大家可以对比一下模板与这一段, 找找其中有什么关联之处.

11. 娱乐新闻处理模块:同上,大家找找其中的关系.相信大家看完会有 收获的.

12. 处理并显示index.tpl.

2. 下面再来看看news.php的源文 件:

news.php

<?php
/*********************************************
*
*文件名:news.php
*作用: 新闻显示程序
*
*作者:大师兄
*Email:teacherli@163.com
*修正:forest
*************

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号