Foros del Web » Programando para Internet » ASP Clásico »

Mostrar datos aleatoriamente

Estas en el tema de Mostrar datos aleatoriamente en el foro de ASP Clásico en Foros del Web. Hola a todos, como puedo mostrar datos aleatoriamente, tengo un test online pero quisiera que me muestre las preguntas aleatoriamente, aqui le pongo el codigo: ...
  #1 (permalink)  
Antiguo 30/11/2002, 08:51
 
Fecha de Ingreso: enero-2002
Ubicación: Callao - Perú
Mensajes: 1.127
Antigüedad: 22 años, 5 meses
Puntos: 0
Exclamación Mostrar datos aleatoriamente

Hola a todos, como puedo mostrar datos aleatoriamente, tengo un test online pero quisiera que me muestre las preguntas aleatoriamente, aqui le pongo el codigo:
<%if isarray(session("mytest"))=false then
idtest=request("idtest")
if idtest="" then response.redirect "default.asp"
' dim pmytest(25,1)
dim pmytest(100,1)
sqltxt="select idpregunta from preguntas where idtest="&idtest
ra.open sqltxt,cn
if ra.eof then
ra.close
set ra=nothing
cn.close
set cn=nothing
response.redirect "resettest.asp"
end if
i=0

do while not ra.eof
i=i+1
pmytest(i,0)=ra("idpregunta")
pmytest(i,1)=0
ra.movenext
loop
ra.close
sqltxt="select titulo from test where idtest="&idtest
ra.open sqltxt,cn
titulo=ra("titulo")
ra.close
session("npreguntas")=i
session("test")=idtest
session("nivel")=niv
session("titulo")=titulo
session("posicion")=1
posicion=1
session("mytest")=pmytest
Set rgq=server.createobject("adodb.recordset")
rgq.activeconnection=cn
srgq="Select *from usuarios where email='"&session("login")&"'"
rgq.open srgq
session("nick")=rgq("id")
else
pmytest=session("mytest")
posicion=session("posicion")
pmytest(posicion,1)=request.form("r1")
session("mytest")=pmytest

if posicion <= session("npreguntas") then
posicion=posicion+1
session("posicion")=posicion
end if
end if
'----------------
Gracias de antemano ...
__________________
SaLuDoS dE:
PePeLuChO dEl PeRú PaRa El MuNdO
  #2 (permalink)  
Antiguo 30/11/2002, 09:04
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 4 meses
Puntos: 29
creo que con la función rnd() funcionaría.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #3 (permalink)  
Antiguo 30/11/2002, 09:12
 
Fecha de Ingreso: enero-2002
Ubicación: Callao - Perú
Mensajes: 1.127
Antigüedad: 22 años, 5 meses
Puntos: 0
Gracias por repondere, pero disculpa mi ignorancia donde iria esa función????????????????????????? :prohibido
__________________
SaLuDoS dE:
PePeLuChO dEl PeRú PaRa El MuNdO
  #4 (permalink)  
Antiguo 30/11/2002, 10:08
Avatar de g_susdaniel  
Fecha de Ingreso: mayo-2001
Ubicación: Frente al Monitor :þ
Mensajes: 995
Antigüedad: 23 años, 1 mes
Puntos: 0
Exclamación

La verdad es que dá flojera leer el codigo de momento, pero te recomiendo que busques el codigo para registro aleatorio en http://www.faqsdelweb.com dentro de la seccion de ASP y luego en Base de datos por allí hay un codigo para registros aleatorios, y si conoces tú codigo, verás donde aplicarlo y adaptarlo a tus necesidades

Salu2
__________________
No, no no... no hay firma...
  #5 (permalink)  
Antiguo 30/11/2002, 10:50
Avatar de Avelar  
Fecha de Ingreso: noviembre-2002
Ubicación: Ensenada, Baja California, México
Mensajes: 673
Antigüedad: 21 años, 7 meses
Puntos: 1
Lo que seguramente encontrarás es esta fórmula:
Código:
Int((límitesuperior - límiteinferior + 1) * Rnd + límiteinferior)
Con ella logras mostrar aleatoriamente los números... si las preguntas inician en 1 y terminan en la 200, limitesuperior = 200 y limiteinferior = 1

Saludos
__________________
Ariel Avelar
  #6 (permalink)  
Antiguo 30/11/2002, 10:51
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
Bufff, casi me da un infarto con tantas lineas de codigo, esta es la funcion que estas buscando

<%
set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("tubase.mdb")&";"
SQL="SELECT * FROM tutabla"
rs.OPEN sql, oconn, 3, 1
intTotalRecords = rs.RecordCount
Randomize()
intRandomNumber = Int((intTotalRecords * Rnd))
rs.Move intRandomNumber
' Ahora vamos a mostrar los valores de campo de ese registro aleatorio.
response.write(rs("campo1"))
response.write(rs("campo2"))
%>
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #7 (permalink)  
Antiguo 30/11/2002, 10:54
Avatar de Avelar  
Fecha de Ingreso: noviembre-2002
Ubicación: Ensenada, Baja California, México
Mensajes: 673
Antigüedad: 21 años, 7 meses
Puntos: 1
Buena manera maestro... ¿por qué no lo había pensado?
__________________
Ariel Avelar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:59.