論壇所有的數(shù)據(jù)都是保存到一個(gè)數(shù)據(jù)庫(kù)中,這就導(dǎo)致數(shù)據(jù)很大,對(duì)于有些限制文件大小的站點(diǎn)來(lái)說(shuō),很容易過(guò)限制!我下面所講的方法是以拆分?jǐn)?shù)據(jù)庫(kù)的方法來(lái)達(dá)到降低數(shù)據(jù)庫(kù)文件大小的方法!
一般的論壇分成多個(gè)版塊的,比如新聞版塊、PC版塊等。那么我們就可以從這里入手。每個(gè)版塊的記錄就做為一個(gè)獨(dú)立的數(shù)據(jù)庫(kù),一個(gè)數(shù)據(jù)庫(kù)里面只放保存記錄的這張表,這樣對(duì)于一個(gè)Access數(shù)據(jù)庫(kù)來(lái)說(shuō),就可以存放很多的記錄了。而用另一個(gè)獨(dú)立的數(shù)據(jù)庫(kù)來(lái)存放論壇管理、權(quán)限、會(huì)員資料等。
在打開(kāi)記錄顯示出來(lái)時(shí),讓系統(tǒng)自動(dòng)指定打開(kāi)哪一個(gè)數(shù)據(jù)庫(kù),這樣就能夠保證論壇的安全和穩(wěn)定!比如現(xiàn)在有10個(gè)版塊,那么分別新建10個(gè)數(shù)據(jù)庫(kù),這10個(gè)數(shù)據(jù)庫(kù)分別存放10張結(jié)構(gòu)相同的表。我們將10個(gè)存放記錄的數(shù)據(jù)庫(kù)分別命名為AA1~AA10.mdb!將存放論壇資料的數(shù)據(jù)庫(kù)命名為bbs.mdb。比如要打開(kāi)個(gè)版塊的內(nèi)容,那么就讓程序自動(dòng)賦值1給一個(gè)變量id,那么顯示記錄的那個(gè)文件,接收到id這個(gè)變量,就來(lái)打開(kāi)個(gè)數(shù)據(jù)庫(kù)中的數(shù)據(jù)表。
顯示整個(gè)論壇列表時(shí)的方法:
首先在bbs.mdb這個(gè)數(shù)據(jù)庫(kù)中記錄這個(gè)論壇的版塊數(shù)和版塊的編號(hào),這樣便于操作!讀取這個(gè)表中記錄版塊數(shù)的字段,將這些字段都顯示,在顯示的時(shí)候,加上一個(gè)鏈點(diǎn)帶有id的值(這個(gè)ID值就是用來(lái)指向到具體名字的數(shù)據(jù)庫(kù)),這樣就能夠獲得打開(kāi)哪一個(gè)數(shù)據(jù)庫(kù)的值了。我們?cè)诿恳粋(gè)連接到顯示具體版塊的鏈點(diǎn)時(shí),給一個(gè)具體id的值,直接就可以顯示這個(gè)版塊的內(nèi)容,就不需要再修改顯示具體版塊文件的代碼了。
引用數(shù)據(jù)源,我們將數(shù)據(jù)源放在conn.asp和connlist.asp文件中,conn.asp是用來(lái)打開(kāi)bbs.mdb這個(gè)存放數(shù)據(jù)庫(kù)操作數(shù)據(jù)的數(shù)據(jù)源,connlist.asp則是用來(lái)打開(kāi)存放版塊記錄AA1~AA10.mdb的值。
conn.asp代碼如下:
connlist.asp代碼如下:
顯示具體版塊的內(nèi)容的代碼中,在前在加上:
這一句話(huà)就可以直接打開(kāi)具體的版塊內(nèi)容了!