日期:2014-05-17  浏览次数:20966 次

ASP 怎么排序,求码解决。。急在线等
我在一个页面里自动对一个字段里数值大小进行排列,前面有自动序号。  
<%   set   rs=server.CreateObject( "adodb.recordset ")  
rs.open   "select   *   from   [user]   order   by   fenshu   desc ",conn,1,1  
dim   s,username  
usrename=trim(rs( "username "))  
do   while   not   rs.eof  
s=s+1%>  
<tr>  
<td   width= "42 "   align= "center "> <%=   s   %> </td>  
<td   width= "77 "   align= "center "> <%=trim(rs( "username "))%> </td>  
</tr>  
<%  
rs.movenext  
loop  
rs.close  
set   rs=nothing%>  

但如果我想按COOKIES(登陆人)的不同,把变量S   如何能提取出来?只显示登陆人的   S   变量。  
数据表:  
ID   username   fenshu  
1   123   50  
2   231   80  
3   321   30  
4   213   100  


要的效果是!  
变量   用户名   分数  
1   213   100  
2   231   80  
3   123   50  
4   321   30  

123登陆后,只显示   123排名是第3位(其他不显示)  
如果231登陆后   只显示   231排名是第2位(其他不显示)

------解决方案--------------------
改下SQL语句就可以了呀!
rs.open "select * from [user] where username= ' "&reqeust( "usename ")& " ' order by fenshu desc ",conn,1,1
------解决方案--------------------
不好意思,搞错.
你的排名不是在数据库里的!
那你可以把变量存到数组里或session再进行判断用户名输出
------解决方案--------------------
可以的!session也有ID的
要是不会使用就用数组吧!比较好理解的!
比如:
<% set rs=server.CreateObject( "adodb.recordset ")
rs.open "select * from [user] order by fenshu desc ",conn,1,1
dim s,username
dim usernameArr(100)
s=0
usrename=trim(rs( "username "))
do while not rs.eof
s=s+1
usernameArr(s)=rs( "username ")
rs.movenext
loop
rs.close
set rs=nothing

'登录名存在session( "username ")
for i=1 to s-1
if usernameArr(i)=session( "username ")
response.write "名次: " & i & "&nbsp;用户名: " & usernameArr(i)
end if
next
%>