泾川论坛行风在线版主交流 → 如何对bbsxp7.0首页调用?


  共有6226人关注过本帖平板打印复制链接

主题:如何对bbsxp7.0首页调用?

美女呀,离线,留言给我吧!
hola.ng
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:161 积分:1296 威望:355 精华:0 注册:2006/7/1 16:27:04
如何对bbsxp7.0首页调用?  发帖心情 Post By:2007/5/20 16:23:43 [只看该作者]

不少网站不是纯论坛,那么就有双首页:一个网站首页(在空间根目录)、一个论坛首页(在论坛子目录)。

  那么“首页调用”(一种目录简明列表)也就分两种喽!论坛首页调用好搞,因可借助Conn.asp或Setup.asp中的公共代码而省力不少。网站首页调用就得费点事了。


网站首页调用有两种实现途径

  其一、大家熟知的使用论坛自带的现成程序New.asp来调,但此法局限很大,只适宜调用帖子,如果花样多点就无能为力了;

  其二、专门写调用代码做进网站首页中去,这样想调什么就调什么,灵活多变。缺点当然是会编ASP的人的专利,对普通菜鸟来说就复杂了一点。

  前提:必须是.asp的页面才可以调用。放入首页前,建议先放在空间测试下效果!


  注意无论你调用什么,其中“连接数据库”这段和“撤除连接”下面两段代码是一定要有的,分别放在首尾。

  如果调有帖子(●新帖●回帖●热帖●精华),则“调帖显示子程序”这段也一定要有。
  特别注意:BBSDIR="chencao"双引号中的子目录名,是你放论坛的目录,要根据你站实际来填!
  Db = "../database/chencao.mdb" 中的路径,一定要写你站的实际路径!

  你先看清楚你站论坛的数据库到底放哪了?如果放在网站根目录的父目录(这是利于防黑的正确放法,很多新站长却浑然不知),那就是“Db = "../放库的父目录名/库文件名"这样子。如果放在论坛默认的database子目录下,那就是Db = "论坛目录名/放库子目录名/库文件名"了。搞错则连不上数据库。


<html>
<head>
<title>首页调用测试...</title>
<style type="text/css">
a,td,p {font-size:9pt;}
a {text-decoration:none;}
</style>
</head>
<body vlink="#00AA66">

<%
'连接数据库:
BBSDIR="chencao"
Db = "../database/chencao.mdb"
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(Db)
SqlNowString="Now()"
%>

●调用新发帖:
<br>
<%
Sql="Select top 5 * From [CHC_Threads] Where IsDel=0 Order By ID Desc"
TopicList
%>
<br>

●调用新回帖:
<br>
<%
Sql="Select top 5 * From [CHC_Threads] Where IsDel=0 and Replies>0 Order By LastTime Desc"
TopicList
%>
<br>

●调用热门帖:
<br>
<%
Sql="Select top 5 * From [CHC_Threads] Where IsDel=0 and PostTime>"&SqlNowString&"-7 Order by Replies Desc,ID"
TopicList
%>
<br>

●调用精华帖:
<br>
<%
Sql="Select top 5 * From [CHC_Threads] Where IsDel=0 and IsGood>0 Order by LastTime Desc"
TopicList
%>
<br>

●调用某个版块中的某个专题下的新帖:
<br>
<%
Sql="Select top 5 * From [CHC_Threads] Where IsDel=0 and ForumID=12 and SpecialTopic='代码分析' Order by LastTime Desc"
TopicList

'式中ForumID=某某版块号 和SpecialTopic='某某专题名' 根据你实际需要来!
%>
<br>

<%
'调帖显示子程序:
Sub TopicList
Set Rs=Conn.ExeCute(Sql)
Do While Not Rs.Eof
Response.Write "<a href="&BBSDIR&"/ShowPost.asp?ThreadID="&Rs("ID")&">★ "&Left(ReplaceText(Rs("Topic"),"<[^>]*>",""),15)&"</a><br>"
Rs.MoveNext
Loop
Rs.Close
End Sub
%>
<br>

●调用专题:
<br>
<%
Sql="Select * From [CHC_Forums] Where TolSpecialTopic>''"
Set Rs=Conn.ExeCute(Sql)
Do While Not Rs.Eof
ForumID=Rs("ID")
Response.Write "<a href="&BBSDIR&"/ShowForum.asp?ForumID="&ForumID&">★"&Rs("ForumName")&"</a><br>"
filtrate=split(Rs("TolSpecialTopic"),"|")
for i = 0 to ubound(filtrate)
Response.Write "[<a href="&BBSDIR&"/ShowForum.asp?ForumID="&ForumID&"&SpecialTopic="&filtrate(i)&">"&filtrate(i)&"</a>]<br>"
next
Rs.MoveNext
Loop
Rs.Close
%>
<br>

●调用新日志(博客):(适用于7.0)
<br>
<%
Sql="Select top 5 * From [CHC_Blogs] Order By ID Desc"
Set Rs=Conn.ExeCute(Sql)
Do While Not Rs.Eof
Response.Write "<a href="&BBSDIR&"/Blog.asp?BlogUserName="&Rs("UserName")&"&menu=ShowBlog&BlogID="&Rs("ID")&">★ "&Left(Rs("Subject"),15)&"</a><br>"
Rs.MoveNext
Loop
Rs.Close
%>
<br>

●调用论坛公告:
<br>
<%
Sql="Select top 5 * From [CHC_Affiche] Order By ID Desc"
Set Rs=Conn.ExeCute(Sql)
Do While Not Rs.Eof
Response.write "<a href="&BBSDIR&"/Affiche.asp?ID="&Rs("ID")&">★ "&Left(Rs("title"),15)&"</a><br>"
Rs.MoveNext
Loop
Rs.Close
%>
<br>

●调用论坛统计:(适用于7.0)
<br>
<%
Sql="Select * From [CHC_SiteSettings]"
Set Rs=Conn.ExeCute(Sql)
Response.write "<font color=0000FF>★会员总数:"&Rs("TotalUsers")&"</font><br>"
Response.write "<font color=0000FF>★主题总数:"&Rs("TotalTopics")&"</font><br>"
Response.write "<font color=0000FF>★帖子总数:"&Rs("TotalPosts")&"</font><br>"
Response.write "<font color=0000FF>★今日帖数:"&Rs("DaysPosts")&"</font><br>"
Response.write "<font color=0000FF>★新进会员:"&Rs("NewUsers")&"</font><br>"
Rs.Close
%>
<br>

●调用论坛统计:(适用于6.0)
<br>
<%
Sql="Select * From [CHC_Statistics_Site]"
Set Rs=Conn.ExeCute(Sql)
Response.write "<font color=0000FF>★会员总数:"&Rs("TotalUser")&"</font><br>"
Response.write "<font color=0000FF>★主题总数:"&Rs("TotalThread")&"</font><br>"
Response.write "<font color=0000FF>★帖子总数:"&Rs("TotalPost")&"</font><br>"
Response.write "<font color=0000FF>★今日帖数:"&Rs("TodayPost")&"</font><br>"
Response.write "<font color=0000FF>★新进会员:"&Rs("NewUser")&"</font><br>"
Rs.Close
%>
<br>

<%
'撤除连接:
Set Rs=Nothing
Set Conn=Nothing

'自定义过滤函数
Function ReplaceText(fString,patrn,replStr)
Set regEx = New RegExp
regEx.Pattern = patrn
regEx.IgnoreCase = True
regEx.Global = True
ReplaceText = regEx.Replace(""&fString&"",""&replStr&"")
Set reg=nothing
End Function

%>

</body>
</html>


补充说明:

1、截取字符串函数“Left(...,15)”里出现的数字15,就是所截字数。可根据你站首页的调用单元格宽度,自行改动这个数字至合适;
2、CSS样式自己做好;
3、“★”、文字之类的“按需分配”吧!


 回到顶部