快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22

从本节开始我们来学习一下如果把Smarty应用到实际的例子中. 为了演示说明,我将以前写的一个站 点作为实例来讲来下.先说明一下, 我本人的美术功底不是很强,所以设计出来的页面不太好看,大家就对 付着看吧

在看本文之前,可以先看看indexbak.htm与newsbak.htm,它们是我们生成后的例图。

一、 首先来说明一下我们将要使用到的数据库,下面我先将数据库源文件给大家例出 来:

CREATE DATABASE News;
USE News;
/****************************
*
* 表 名: tb_news_ch
* 用 途: 国内新闻表
*
****************************/
CREATE TABLE tb_news_ch
(
iNewsID interger (11) primary key auto_increment,
vcNewsTitle varchar(50) not null,
ltNewsContent longtext not null
);
/****************************
*
* 表 名: tb_news_in
* 用 途: 国际新闻表
*
****************************/
CREATE TABLE tb_news_in
(
iNewsID interger(11) primary key auto_increment,
vcNewsTitle varchar(50) not null,
ltNewsContent longtext not null
);
/****************************
*
* 表 名: tb_news_mu
* 用 途: 娱乐新闻表
*
****************************/
CREATE TABLE tb_news_mu
(
iNewsID interger(11) primary key auto_increment,
vcNewsTitle varchar(50) not null,
ltNewsContent longtext not null
);

我这里简单的将数据库说明一下.

第一个问题:

大家可以看到,其实3个数据表的字段名都一样,那么为什么不把它们合并成一个数据 表呢,答案很简单:效率,在开发的时候我们可能感觉不出有什么可提高效率的地方,不过大家想想,当这个 网站运行一段时间后,它的新闻数据量就会变的很大,而且考虑到如果将来网站做大后可能将各个类型分 离出来形成类似china.xxx.com, international.xxx.com, music.xxx.com,将每一栏目独立分出去物理 上做成一个单独的站点,到那时如果新闻还是合起来放置的话就会造成数据库瓶颈,所以针对当前的站点, 我认为还是分开的比较合理.

第二个问题:

有人可能问了,你在字段前加的i, vc,lt干什么 用?这里是按照字段类型来命名的, 这也是一种良好风格的体现,将类型前缀放在变量前,使用用户不用看 字段定义就可以知道字段是什么类型,这是从微软的匈牙利命名法中参考过来的,在数据库设计时,我先将 每种类型定义成1--3个字母,然后在每个字段前加相应的代码来代表它的类型.像上边,我将各个数据库字 段类型定义为:

integer i

varchar vc

longtext lt

char c

....

在使用的时候,你可以往每个数据表中输入5条数据记录以备我们在调试实例时使用 .

二、示例站点目录结构:

PHP代码:--------------------------------------- -----------------------------------------
+Web (站点根目录)
|
|----+comm (Smarty相关文档目录)
| |
| |----+plugins (Smarty插件目录)
| |----- Config_File.class.php (Smarty配置文件)
| |-----Smarty.class.php (Smarty类主文件)
| |-----Smarty_Compiler.class.php (Smarty编译类文件)
|
|----+cache (Smarty缓存 目录,*nix下保证读写权限)
|
|----+templates (站点模板文件存放目录)
| |
| |----header.tpl(页面页头模板文件)
| |----index.tpl(站点首页模板文件)
| |---- foot.tpl(页面页脚模板文件)
| |----news.tpl (新闻页模板文件)
|
|
|---- +templates_c (模板文件编译后存放目录,*nix下保证读写权限)
|
|----+css (站点CSS文 件目录)
|
|----+image (站点图片目录)
|
|----+media (站点Flash动画存放目 录)
|
|----indexbak.htm (首页原始效果图)
|
|----newsbak,htm (新闻页原始 效果图)
|
|----index.php (Smarty首页程序文件)
|
|----news.php (Smarty新 闻显示文件)
|
|----

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