当前位置:首页 > 网络技术 > 详细内容
网站首页调用目录代码
发布时间:2009/6/3  阅读次数:1742  字体大小: 【】 【】【

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

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

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

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

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

因这两天求的人比较多,而且尽是想调多花样的站长,这样就要写专门代码了。下面将偶昨晚写出的一组网站首页调用代码公布出来,诸位挑选其中的功能段进行试用:

你先将下列代码存为一个asp文件,放到你网站根目录下运行一番,看看效果如何?
再选择其中你需要的代码段,置入你的网站首页。

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

如果调有帖子(●新帖●回帖●热帖●精华),则“调帖显示子程序”这段也一定要有。


特别注意:BBSDIR="bbsxp"双引号中的子目录名,是你放论坛的目录,要根据你站实际来填!
Db = "../database/bbsxp7.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="bbsxp"
Db = "../database/bbsxp7.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 [BBSXP_Threads] Where IsDel=0 Order By ID Desc"
TopicList
%>
<br>

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

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

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

●调用某个版块中的某个专题下的新帖:
<br>
<%
Sql="Select top 5 * From [BBSXP_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 [BBSXP_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 [BBSXP_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 [BBSXP_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 [BBSXP_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 [BBSXP_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>

补充一点:
用这样的代码去直接调用,网站首页的扩展名须改为asp
截取字符串函数“Left(...,15)”里出现的数字15,就是所截字数。可根据你站首页的调用单元格宽度,自行改动这个数字至合适。

我要评论
  • 匿名发表
  • [添加到收藏夹]
  • 发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:未登录
最新评论
所有评论[0]
    暂无已审核评论!

 版权信息©2008-2011 All Rights Reserved 
关于本站|我的web2.0|甘肃社科|技术验证
注册许可证:甘公网安备 62010502000826号

CNZZ: