Estava feliz quando terminado o teste vocacional, porém me deparei com um problema, as perguntas estão vindo aleatoriamente e não em ordem de ID.
Gostaria que aparece em ordem de ID e quando chegar no último ID parar, pois se clicar novamente, ele volta a mostrar outra pergunta. Como posso fazer isso?
<%
Response.Expires = 60
Response.Expiresabsolute = Now() - 1
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"
strCon = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(bdados)
Set conn = Server.CreateObject("ADODB.Connection")
conn.open strCon
sql = "SELECT * FROM perguntas"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.CursorType = 3
rs.CursorLocation = 3
rs.LockType = 3
rs.Open sql, conn
'if NOT rs.eof then
'Randomize
'perg_id = array(Int((rs.recordcount * Rnd) + 1))
'end if
'perg = Spit(perg_id, ",", -1, 1)
Dim Arr()
Dim i, RowCount
RowCount = RS.RecordCount
Redim Arr(RowCount - 1)
For i = 0 To RowCount - 1
Arr(i) = RS("id")
rs.movenext
Next
Randomize
perg_id = Arr(Int((Ubound(arr) + 1) * rnd))
rs.close
sql2 = "SELECT * FROM perguntas WHERE id = "& perg_id & ""
Set rs2 = Server.CreateObject("ADODB.Recordset")
rs2.Open sql2, conn
'Verifica se o existe a pergunta selecionada aleatoreamente, não houver a página será recarregada...
' Então evite deletar perguntas do banco de dados do quiz!
if rs2.eof then
response.redirect("teste.asp")
end if
%>
Pergunta
Vagner Nunes
Prezados,
Estava feliz quando terminado o teste vocacional, porém me deparei com um problema, as perguntas estão vindo aleatoriamente e não em ordem de ID.
Gostaria que aparece em ordem de ID e quando chegar no último ID parar, pois se clicar novamente, ele volta a mostrar outra pergunta. Como posso fazer isso?
Seria grato se alguém poder me ajudar...
Sds,
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados