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?
<% 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 %>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