基于总计的ASP脚本到位置/排名

时间:2016-06-05 14:59:42

标签: asp.net asp-classic

代码在某种程度上有效,但如果 R1Tots 处于平局,我希望 R1Tie 能够反映这一点

<%
Dim R1Tie
Dim R1Tots
R1Tots = (TLLB.Fields.Item("TotalSc").Value)
R1Tie = record.count
If R1Tots = R1Tots Then
R1Tie = R1Tie + 1
end if
%>

<%= R1Tie %>

示例我需要它看起来像

::Pos:: ::Name:: ::TotalScore::
:: 1 :: ::Joe :: ::100::
:: 2 :: ::Jane:: ::90::
:: 2 :: ::Jeff:: ::90::
:: 4 :: ::Chip:: ::80::
:: 5 :: :: Jeb:: ::75::

1 个答案:

答案 0 :(得分:0)

这不能是Classic ASP和ASP.net。我假设它是使用VBScript的经典ASP而不是使用VB.net的ASP.net。

据推测,您提供的代码都位于循环内,循环遍历每个结果。我认为你需要做的是每个循环的位置值加1,如果有平局,则从显示的值中减去1。我这样做:

dim R1Position, R1Totalscore
R1Position = 0

do while not rs.eof
R1Position = (R1Position + 1)
If rs("TotalSc") = R1Totalscore then
    Response.write (R1Position - 1) & ":: ::" &  rs("name") & ":: ::" & rs("TotalSc") & "::<br>"   
Else
    Response.write R1Position & ":: ::" &  rs("name") & ":: ::" & rs("TotalSc") & "::<br>"
End If
rs("TotalSc") = R1Totalscore
rs.movenext
loop

请注意,循环中的最后一行将rs(“totalsc”)的当前值分配给R1Totalscore,以便将此值与循环的下一次迭代中的新值进行比较。

我意识到如果每个人都得分为零,这将无效。我认为这不是我们需要担心的情​​况。