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 & " 用户名: " & usernameArr(i)
end if
next
%>