动网帖子外部直接调用秘籍!
是直接读取数据库喔
动网论坛大家都知道首页调用(这里是特指论坛外部,如我的论坛只是网站一部份)虽然在后台可以用JS处理,但有个缺点,就是不能被搜索引擎找到,
对排名不利。 我对此问题也是思考了很久,但一直没动手。
现在终于搞定直接提取数据库的代码,供大家参考! 请注意: 1、在首页里面添加“<!--#include
file="conn.asp"-->”
,如果你的网站本身就需要读取其他数据库的话。可以在原有的连接配置文件(如conn.asp)增加后述代码。请注意该文件位置喔; 2、
“conn.asp”里面的数据库地址注意修改为“../实际地址”
,修改为论坛的数据库实际地址,多数情况可能首页与论坛不在同一文件夹,所以数据库的相对位置也是不一样的,所以不能直接使用动网论坛的conn.asp
里的数据库路径; 3、代码如下:
<%
'连接DvBBS数据库 dim
Dvbbs,Dvbbsdb,Dvbbsconnstr
Dvbbsdb="../../databases/XXX.asa" on
error resume next Set Dvbbs =
Server.CreateObject("ADODB.Connection") Dvbbsc &
Server.MapPath(Dvbbsdb) Dvbbs.Open Dvbbsconnstr If Err Then err.Clear Set
Dvbbs = Nothing Response.Write "<div
style='margin:100px;font-size:14px;text-align:center'><Font
color=red>DvBBS数据库连接失败!</font></div>" Response.End End
If
'调用BBS新帖 sub newtopic1(n) dim
rs,sql,i,ds i=0 'n新贴调用个数 sql="select top "&n&"
a.topicid,a.title,a.boardid,a.postusername,a.lastpost,a.lastposttime,a.dateandtime,b.boardtype
from dv_topic a,dv_board b where b.boardid=a.boardid order by
dateandtime desc" set rs=Dvbbs.Execute(sql) If Not RS.Eof then SQL=Rs.GetRows(-1)
else response.write "目前没有新贴!" exit sub end if rs.close:set
rs=nothing For i=0 To Ubound(SQL,2) response.write
"<li><a href=bbs/index.asp?boardid="&sql(2,i)&"
target='_blank'>"&sql(7,i)&"</a><a
href=bbs/dispbbs.asp?boardid="&sql(2,i)&"&id="&sql(0,i)&"
title=标题:"&left(sql(1,i),30)&" target='_blank'>" response.write
""&left((sql(1,i)),20)&"</a>--(<a
href=bbs/dispuser.asp?name="&left(sql(3,i),8)&"
target='_blank'>"&left(sql(3,i),8)&"</a>)<span
style='float:right;padding-right:4px;'>"&FormatDate(sql(5,i),5)&"</span></li>"
next end sub %>
4、在你的首页具体的位置调用即可
<ul><%call newtopic1(n)%></ul>
这里的N指的是调用条数
5、与CSS配合,实现帖子前面的图片数字序号,如下
#ilist480
ul{margin-left:4px;background:url(billboard_bg2.gif)
no-repeat;padding-top:4px;} #ilist480 ul
li{line-height:1.65em;padding-left:20px;}
效果如图: 
通过上述方法也可以实现其他如图库调用,论坛模板调用等。 |