Avatar billede cobra Nybegynder
07. februar 2002 - 03:21 Der er 4 kommentarer og
1 løsning

Placering

Hvordan kan jeg finde en Placering på en person ligesom på eksperten.dk
skal kun kunne udskrive en.
EX :
Cobra du har 1000 point og din placering er nr. 536

Avatar billede cobra Nybegynder
07. februar 2002 - 03:23 #1
skal lige sige at min table hedder bruger og felte point
Avatar billede cobra Nybegynder
07. februar 2002 - 03:24 #2
Prøvede ellers dette :
<% 
psql = "Select * from tabel where id = " & session("id")
rs.open danconn
point = rs.fields("point")

lsql = "Select Count * as found from tabel Where point >= " & point
%>
Avatar billede coltau Juniormester
07. februar 2002 - 07:09 #3
Her er et script der finder placeringen (rs("Z")) = antal point

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("test.mdb")

Set rs = Server.CreateObject("ADODB.RecordSet")
rs.CursorLocation = adUseClient
strSQL = "Select * From xyz where ID=" & Request.QueryString("ID")
rs.Open strSQL, Conn, 1, 3 ' adOpenKeyset, adLockOptimistic
intPoint = rs("Z") ' Find brugers point
strSQL = "Select Z From xyz order by Z Desc" ' Lav en liste med point i baglæns rækkefølge
rs.Close
rs.Open strSQL, Conn, 1, 3 ' adOpenKeyset, adLockOptimistic
iMax = rs.RecordCount
iMin = 0
iCnt = 0
Found = False
if not RS.EOF then
  do while not Found and (iCnt < 10)
    iCnt = iCnt + 1
    iMidt = iMin + Int((iMax - iMin) / 2)
    rs.MoveFirst
    rs.Move(iMidt)
    if intPoint > rs("Z") then
      iMax = iMidt
    else
      if intPoint < rs("Z") then
        iMin = iMidt
      else
        Found = True
      end if
    end if
  loop
end if
if Found then
  Response.Write("Found Pos: " & rs.AbsolutePosition)
else
  Response.Write("Not Found. ")
end if
rs.Close
%>

Jeg har lidt småtravlt nu - men vil gerne kommentere det senere. :-) Det virker.
Avatar billede coltau Juniormester
07. februar 2002 - 10:50 #4
Her er en der er hurtigere:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("test.mdb")

Set rs = Server.CreateObject("ADODB.RecordSet")
rs.CursorLocation = 3 ' adUseClient
strSQL = "Select * From bruger where ID=" & Request.QueryString("ID")
rs.Open strSQL, Conn, 1, 3 ' adOpenKeyset, adLockOptimistic
strPoint = rs("point") ' Find brugers point
strSQL = "Select point From bruger where point>" & strPoint ' Lav en liste med point højere end brugers point
rs.Close
rs.Open strSQL, Conn, 1, 3 ' adOpenKeyset, adLockOptimistic
Response.Write("Placering: " & rs.RecordCount + 1)
rs.Close
%>

Ovennævnte finder alle dem der har en højere placering end brugeren selv og lægger 1 til.
Avatar billede cobra Nybegynder
07. februar 2002 - 11:23 #5
Mange tak coltau
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester