ASP 排行榜 问题

来源:百度知道 编辑:UC知道 时间:2024/06/15 06:38:00
<%
set rs1=server.createobject("adodb.recordset")
sql="SELECT top 10 * from ID order by hits desc"
rs1.open sql,conn,1,1
%>
<tr>
<td width="100%" align="center" background="images/menu.gif" height="20" bgcolor="#008CC8"><span id="glowtext">点击排行</span></td>
</tr>
<%
if not rs1.eof then
do while not rs1.eof
%>
<tr>
<%=rs1("who")%>
</tr>
<%
rs1.movenext
loop
else
response.write "<td align='center'>暂无资料</td>"
end if
rs1.close
%>

举个例子:
比如数据库中的记录点击数字段的数据是这样的
1,2,3,5,6,6,6,6,9,10,12
这时如果"select top 5"的话实际上会输出
1,2,3,5,6,6,6,6
这样你应该就明白了为什么会输出超过10条了吧

<%
set rs1=server.createobject("adodb.recordset")
sql="SELECT top 10 * from ID order by hits desc"
rs1.open sql,conn,1,1
%>
<tr>
<td width="100%" align="center" background="images/menu.gif" height="20" bgcolor="#008CC8"><span id="glowtext">点击排行</span></td>
</tr>
<%
if not rs1.eof then
do while not rs1.eof or i<10
%>
<tr>
<%=rs1("who")%>
</tr>
<%
rs1.movenext
i=i+1
loop
else
response.write "<td align='center'>暂无资料</td>"
end if
rs1.close
%>

把你的
i=0
do while i < 10
i=i+1