帝國cms跨數(shù)據(jù)庫調(diào)用欄目信息教程
在帝國cms項目開發(fā)過程中,有的客戶需要跨數(shù)據(jù)庫調(diào)用數(shù)據(jù),比如在一起個服務器上兩個網(wǎng)站A與B,主網(wǎng)站是A ,子網(wǎng)站是B。B網(wǎng)站不經(jīng)常更新,但是還想讓他頁面有所變化,利于搜索引擎的抓取優(yōu)化,這就需要跨數(shù)據(jù)庫調(diào)用A數(shù)據(jù)庫的文章信息來填充到B網(wǎng)站上顯示。我整理了一下思路,其實很簡單,重點就在兩個:
1、數(shù)據(jù)庫用戶名權(quán)限
2、數(shù)據(jù)庫.表名
廢話不多說,調(diào)用方法具體如下:
我的兩個網(wǎng)站數(shù)據(jù)庫名分別為①sql_feisuxs ②sql_feisu_zidian
首先設置數(shù)據(jù)庫權(quán)限,我用的是phpmyadmin,就按照phpmyadmin來示范。
1、用root賬戶登陸phpmyadmin,點擊用戶,找到子網(wǎng)站所使用的sql用戶名,我的子網(wǎng)站為sql_feisu_zidian,點擊編輯權(quán)限
2、點擊數(shù)據(jù)庫
3、選擇需要添加的用戶名,執(zhí)行。
執(zhí)行之后主網(wǎng)站的數(shù)據(jù)庫用戶sql_feisuxs就有權(quán)限查詢子網(wǎng)站數(shù)據(jù)庫sql_feisu_zidian的數(shù)據(jù)庫了,這樣就可以跨庫了。
在子網(wǎng)站模板中調(diào)用方法具體如下:
[e:loop={"select * from sql_feisuxs.phome_ecms_news where classid=5 order by id desc limit 5",10,24,1}]
<li><a href="<?=$bqsr[titleurl]?>">
<img alt="<?=$bqsr[title]?>" src="<?=$bqr[titlepic]?>"/>
<p><?=esub($bqr[title],32)?></p></a>
</li>
[/e:loop]
代碼解釋:
1、sql_feisuxs.phome_ecms_news(主網(wǎng)站數(shù)據(jù)庫下的新聞表,一定要注意中間的那個點,務必要加上。紅色部分為主網(wǎng)站的數(shù)據(jù)庫名)
2、classid=5(主網(wǎng)站被調(diào)用的欄目ID)
3、 limit 5(調(diào)用條數(shù)為5,想調(diào)用幾條就寫幾)
4、10,24,1}(10、24就不解釋了,常用的人都知道。重點是后面的1,這里是調(diào)用必須帶有縮略圖的文章,如果不是必須就直接改為0)
5、下面的其他代碼與e:loop本身代碼調(diào)用是一樣的,限制字數(shù)、縮略圖地址等等。
附我自己的一段調(diào)用代碼作為參考:
<?
$sql=$empire->query("select classid,classname,infos from sql_feisuxs.{$dbtbpre}enewsclass where bclassid=0 and showclass=0 and tbname='news' order by myorder,classid asc");
$bqno=0;
while($bqr=$empire->fetch($sql)){
$bqsr=sys_ReturnEcmsLoopStext($bqr);
$bqno++;
?>
<!-- 大欄目名 -->
<?=$bqr[classname]?>
<!-- 大欄目信息數(shù) -->
<?=$bqr[infos]?>
<?
$sql2=$empire->query("select classid,classname,infos from sql_feisuxs.{$dbtbpre}enewsclass where bclassid=$bqr[classid] and showclass=0 order by myorder,classid asc");
while($bqr2=$empire->fetch($sql2)){
$bqsr2=sys_ReturnEcmsLoopStext($bqr2);
?>
<!-- 小欄目名 -->
<?=$bqr2[classname]?>
<!-- 小欄目信息數(shù) -->
<?=$bqr2[infos]?>
<!-- 子欄目信息列表,不需要就刪除 -->
<ul>
<?
$sql3=$empire->query("select title,titleurl,newstime from sql_feisuxs.{$dbtbpre}ecms_news where classid=$bqr2[classid] order by id desc limit 10");
while($bqr3=$empire->fetch($sql3)){
$bqsr3=sys_ReturnEcmsLoopStext($bqr3);
?>
<span><?=date('m-d',$bqr3[newstime])?><?=$bqr2[classname]?> </span><a href="<?=$bqr3[titleurl]?>" target="_blank" ><?=esub($bqr3[title],36)?>...</a>
<?
}
?>
</ul>
<?
}
?>
<!-- 子欄目信息列表,不需要就刪除 -->
<?
}
?>
本站其他內(nèi)容推薦
1、instil mummer tangential Leica seismogram aplasia Twi clock-watcher complex sound-proof
2、pharmacokinetics中文翻譯,pharmacokinetics是什么意思,pharmacokinetics發(fā)音、用法及例句
3、piss off是什么意思?。╬iss off中文翻譯,piss off是什么意思,piss off發(fā)音、用法及例句)
4、bothersome是什么意思,bothersome中文翻譯,bothersome發(fā)音、用法及例句
5、cold是什么意思,cold中文翻譯,cold發(fā)音、用法及例句
10、打嗝的英文,英語,belch是什么意思,belch中文翻譯,belch怎么讀、發(fā)音、用法及例句
11、sumptuosity是什么意思,sumptuosity中文翻譯,sumptuosity怎么讀、發(fā)音、用法及例句
版權(quán)聲明: 本站僅提供信息存儲空間服務,旨在傳遞更多信息,不擁有所有權(quán),不承擔相關(guān)法律責任,不代表本網(wǎng)贊同其觀點和對其真實性負責。如因作品內(nèi)容、版權(quán)和其它問題需要同本網(wǎng)聯(lián)系的,請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。