Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Teste Vocacional (2)


Vagner Nunes

Pergunta

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

  • 0

certo, já fiz isso em um site de auto escola que tinha um simulado on-line

para ter uma ordem você deve remover o random de lá... caso não seja isso...

uma solução é criar uma tabela para armazenar o id das perguntas em ordem aleatoria e sem repetição...

por exemplo 10 perguntas, rode um loop de 1 a 10 e cadastre nessa tabela temporaria depois use ela para pegar os ids das perguntas...

sobre sql randomicas ao invez daquele monte de coisa use:

http://www.portalmaracaju.com.br/blog/arti..._randomico.html

Link para o comentário
Compartilhar em outros sites

  • 0
certo, já fiz isso em um site de auto escola que tinha um simulado on-line

para ter uma ordem você deve remover o random de lá... caso não seja isso...

uma solução é criar uma tabela para armazenar o id das perguntas em ordem aleatoria e sem repetição...

por exemplo 10 perguntas, rode um loop de 1 a 10 e cadastre nessa tabela temporaria depois use ela para pegar os ids das perguntas...

sobre sql randomicas ao invez daquele monte de coisa use:

http://www.portalmaracaju.com.br/blog/arti..._randomico.html

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...