回 帖 发 新 帖 刷新版面

主题:总结对于主页调用TOP10的一些经验.

最近通过本站站长的不断支持和我的自我实鉴,终于把主页调用弄清楚了.
为了以后想使用首页调用功能的朋友们少走弯路.我把我的一些经验写出来供大家
参考,对你有用请回贴表示一下对我的支持,如果有什么更好的方法,请多多指教.

主页调用能实现的功能:
主要是用于首页显示数据库里的一些信息,比如最新发贴TOP10,最新新闻TOP10,热贴排行TOP10等等.这些在很多方页上都能看到,好处是不用手动更新首页就能通过首页调用功能实现首页的更新.

首先分析一些代码具体来看这个功能的实现原理.
下面是一段SCRIPT代码,可以直接复制到新建网页的BODY中加入.
<script language=vbscript>
document.write "这是首页调用!"
</script>
预览这个页面,你将看到页面上显示了一行文字:这是首页调用!
再来看看下面这段代码,有两个文件,一个是HTML文件,一个是ASP文件.
1.index.htm
在BODY中加入
<script language=vbscript src=top10.asp></script>
2.top10.asp
新建一个空的ASP网页,保存为TOP10.ASP,内容为:
<%
str="这是首页调用!"
response.write "document.write """&str&"""" '三个引号是为了输出带引号的字串.
%>
在窗口中浏览INDEX.HTM文件,前提是这两个文件要在发布目录内的同一个文件夹内.
比如:http://127.0.0.1/test/index.htm
看到了什么?是不是跟前面的例子一样.其实在实际调试中你会发现直接浏览TOP10.ASP会输出DOCUMENT.WRITE "这是首页调用!"
只要你保证DOCUMENT。WRITE 后面跟着引号和最后结束也带上引号。调用就一定成功。
也就是说通过TOP10。ASP输出来的文本中DOCUMENT。WRITE “(这是前引号)  需要输出的东西  ”(这是最后的引号)

那么有人要问你发什么神经,上面一篇网页就能完成,你整成两篇网页,有什么用嘛!
其实这只是简单的显示一行文字而已,如果要用到数据库,而且首页上要调用几个TOP10的话,那么你的首页要写多少ASP代码啊!这么多代码修改首页版面都麻烦.如果采用这种方法,首页上的HTML干干净净,随便修改,只需在要插入TOP10的地方加入一行SCRIPT代码就完了,这样对主页维护就轻松了.

下面这段例子是讲明怎样用SQL的TOP10功能来实现数据库中的记录以特定的条件显示排行榜的功能。其实TO10也可以是TOP11。。。12。。。13。。。。99只要你喜欢。
关键语句:
strSQL = "SELECT TOP 10 * FROM 表名 where 字段 order by 字段 [desc]"
[DESC]是按将序排列,如果不填则是升序排列。

例子:
打开数据库这些其功我就不写了。
<%
strSQL="SELECT TOP 10 * FROM BBS where RID=0 order by id desc"                                                                        
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strSQL,conn,1,1
if rs.Eof then
response.end
else
Do While Not rs.EOF
str=str+"<a href=showbbs.asp?id="&rs("id")&">"&rs("bbstitle")&"</a><br>"
rs.MoveNext
Loop
end if
response.write "document.write """&str&""""
%>

通过以上代码我们可以分析到SQL是查询BBS表中RID=0的前10条记录,且以将序来排列。
注:RID=0是BBS表中不是回复的贴子的意思。
然后判断查询结果中如果是EOF即没有数据。那么就不显示也不再执行下面的语句。
有的话,那么就利用DO WHIEL LOOP回圈将其累加给STR变量作为下面RESPONSE。WRITE输出的结果。
至于<a href=XXX></a>是为了输出时显示的结果可以点击利用SHOWBBS。ASP来显示这条信息之用。


至此通过INDEX。HTM查看即可输出TOP10的内容。


调试经验:
写完数据后,直接在浏览器中查看TOP10。ASP输出的内容是否是以DOCUMENT。WRITE “”为结果的内容。因为如果其中有错,直接用INDEX。HTM来查看,你是什么结果都看不到的。
这只是显示其中一种查询结果,如果你有几种TOP10的调用的话,可利用在SRC=TOP10。ASP的后面跟上ID=x的方式访问TOP10。ASP文件。再在TOP10。ASP中判断转入的ID值为几来分别执行对应的SQL语句来进行。例如:
IF REQUEST(“ID”)=1 THEN
SQL=“”
ELSEIF REQUEST(“ID”)=2 THEN
SQL=“”
ELSEIF REQUEST(“ID”)=3 THEN
SQL=“”
END IF

利用SCRIPT的首页调用功能其实还能实现许多功能,让我们共同去发掘它吧!

回复列表 (共4个回复)

沙发

我的vb认access97但不认access2000,我看了以前的贴子。无法知道如何办,sp5我找着了。但vb6补丁没找着,有帮忙的大哥大姐给我告诉以下如何解决

板凳

我的vb认access97但不认access2000,我看了以前的贴子。无法知道如何办,sp5我找着了。但vb6补丁没找着,有帮忙的大哥大姐给我告诉以下如何解决

3 楼

经验之论,我一定会照做的
我对计算机方面不大懂
希望能得到你的帮助
谢谢你的这篇文章了

4 楼

安装新版本的 数据库驱动   ado2.7 MDAC

我来回复

您尚未登录,请登录后再回复。点此登录或注册