前幾天有些事情,所以這個實例一直到今天寫,為什麼要拿phplib中的DB類來講呢?很多人在學習 PHP時,可能最先接觸到的模板就是phplib了,原因很簡單:很多PHP學習資料中都介紹PHPLIB,phplib 在PHP3的時候很火,原因之一就是它實現了在PHP3沒有實現的session功能,直到現在還有很多人使用 phplib的模板技術,原因就是它很簡單。同時,phplib上的數據庫操作類也以文件小、加載速度快而備 受人們喜愛。我喜歡它的語法,感覺很接近於PHP中的mysql語句。好了,廢話不多說了,來看我們的程 序。程序還以實例一中的那個站點一講,關於數據庫的建立與模板的建立這裡就不多講了,請參看上一 節的介紹,這裡主要來介紹一下在程序中新加入的東西。先來看目錄表:
+Web (站點根目錄)
|
|----+comm (Smarty相關文檔目錄)
| |
| |----+plugins (Smarty插 件目錄)
| |-----Config_File.class.php (Smarty配置文件)
| |-----Smarty.class.php (Smarty類主文件)
| |-----Smarty_Compiler.class.php (Smarty編譯類文件)
| |----- db_mysql.inc.php (phplib中的DB類)
| |-----csub.inc.php (一個截取中文的函數)
|
|----+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 (本文檔)
這裡主要在/comm/目錄多出兩個文件,一個是db_mysql.inc.php,在phplib中它的文件名 叫db_mysql.inc,inc文件在默認情況下直接從浏覽器中定位時會顯示在浏覽器中,所以為了安全我們將 它的擴展名改為db_mysql.inc.php; 第二個文件是一個包含截取中文字符的一個函數
csubstr(), 在用的時候我們將它的源碼顯示出來。
這裡先將db_mysql.inc.php中定義的DB_Sql的主要成員變 量與成員函數給大家簡單介紹一下:
一、成員變量:
1. $Host: 主機名
2. $Database: 數據庫名稱
3. $User:用戶名
4. $Password:密碼
二、成員函數:
1. connect($Database="", $Host="", $User="", $Password=""): 建立連接,返回連接ID
2. query($Query_String):進行查詢,返回 查詢ID
3. free(): 釋放當前查詢ID資源
4. next_record(): 返回下一條返回集
5. num_rows(): 當前查詢號中的數據行數
6. f($name): 當前字段的值