Smarty執行個體教程之三:執行個體篇(使用PHP內建MYSQL函數)

來源:互聯網
上載者:User

從本節開始我們來學習一下如果把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新 聞顯示檔案)
|
|----常式說明.txt (目錄說明)
|
|----資料庫建立檔案.txt ( 資料庫的建立文檔)
詳細情況請大家下載執行個體後對照結構圖。
------------------------- -------------------------------------------------------

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.