現(xiàn)在大多數(shù)資訊類系統(tǒng),一般站長(zhǎng)都比較青睞php、mysql組合,這類cms系統(tǒng)中以dede和帝國(guó)更為普及,在帝國(guó)系統(tǒng)中調(diào)用論壇數(shù)據(jù)。
這個(gè)應(yīng) 用需求比較常見,cms和論壇系統(tǒng)使用同一數(shù)據(jù)庫(kù)時(shí),這樣調(diào)用時(shí),使用帝國(guó)論壇上提供的方法。
如果是dede網(wǎng)站系統(tǒng),使用dede的后臺(tái)向?qū)Ь涂梢灾苯?實(shí)現(xiàn),但如果cms和論壇使用不同的數(shù)據(jù)庫(kù),前提是在同一服務(wù)器、同一mysql服務(wù)環(huán)境下,就不能直接調(diào)用了。
這涉及到mysql用戶的多數(shù)據(jù)庫(kù)權(quán)限, 以及mysql的跨數(shù)據(jù)庫(kù)查詢問題。
這個(gè)問題很久以前就曾經(jīng)多次在帝國(guó)論壇咨詢過,但沒有具體實(shí)施方法,由于平常也不以帝國(guó)類網(wǎng)站為生,因此對(duì)這些問題還是建立在考慮可能性的層面。
今日朋友又提此事,覺得也不算大的難題,就稍費(fèi)點(diǎn)時(shí)間試一下。結(jié)果,完美成功。過程如下:
假設(shè):帝國(guó)cms數(shù)據(jù)庫(kù)名為:ecms,用戶名為:ecms_user,discuz論壇數(shù)據(jù)庫(kù)名為:discuz,用戶名為:discuz_user
要在帝國(guó)網(wǎng)站中調(diào)用discuz論壇的當(dāng)天最新貼,首先為discuz論壇添加帝國(guó)網(wǎng)站系統(tǒng)的用戶訪問權(quán)限。
這里只添加查詢(select)權(quán)限,確保安全。用root登陸phpmysql后,直接在sql中運(yùn)行以下語句:
GRANT select on discuz.* to ecms_user;
這時(shí)就可以在帝國(guó)模板中添加靈動(dòng)標(biāo)簽的論壇當(dāng)天最新貼查詢了:
<table width="100%" border="0" cellspacing="0" cellpadding="1">
[e:loop={"select tid,subject from discuz.cdb_threads order by tid desc limit 10",10,24,0}]
<tr><td>
<a href="<?=$bqr[tid]?>-1-1.html" target="_blank"><?=$bqr[subject]?></a>
</td></tr>
[/e:loop]
</table>
數(shù)據(jù)更新后查看,數(shù)據(jù)就生成了,這數(shù)據(jù)可是實(shí)在的標(biāo)題和鏈接調(diào)用,不是一般的discuz論壇的js數(shù)據(jù)調(diào)用,不管對(duì)于頁面加載速度和網(wǎng)站的優(yōu)化來說,都有好處。
注意上述語句的:
<a href="<?=$bqr[tid]?>-1-1.html" target="_blank"><?=$bqr[subject]?></a>
如果你沒有加載論壇的偽靜態(tài)效果,要替換為:
<a href="?tid=<?=$bqr[tid]?>" target="_blank"><?=$bqr[subject]?></a>
不然打開鏈接時(shí)就要出現(xiàn)“404頁面”了。好這樣就成功調(diào)用了。
源碼技術(shù)交流QQ群 417105134
此文由 網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口 編輯,未經(jīng)允許不得轉(zhuǎn)載!: