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

mostrar dos registros aleatorios

Estas en el tema de mostrar dos registros aleatorios en el foro de ASP Clásico en Foros del Web. hola estoy intentanto mostrar dos registros aleatorios lo intento hacer de la siguiente manera Código PHP: <% ' mostrando un registro aleatorio de una tabla Dim rs_opiniones Dim rs_opiniones_numRows Set rs_opiniones = Server.CreateObject("ADODB.Recordset") rs_opiniones.ActiveConnection = MM_IBW_STRING rs_opiniones.Source = "SELECT * FROM noticias" rs_opiniones.CursorType = 0 rs_opiniones.CursorLocation = 3 ...
  #1 (permalink)  
Antiguo 15/01/2010, 03:31
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años, 8 meses
Puntos: 8
mostrar dos registros aleatorios

hola estoy intentanto mostrar dos registros aleatorios

lo intento hacer de la siguiente manera

Código PHP:
<%' mostrando un registro aleatorio de una tabla
Dim rs_opiniones
Dim rs_opiniones_numRows

Set rs_opiniones = Server.CreateObject("ADODB.Recordset")
rs_opiniones.ActiveConnection = MM_IBW_STRING
rs_opiniones.Source = "SELECT * FROM noticias"
rs_opiniones.CursorType = 0
rs_opiniones.CursorLocation = 3
rs_opiniones.LockType = 1
rs_opiniones.Open()


'
sql "SELECT * FROM Tu_Tabla"

'set rs = Server.CreateObject("ADODB.Recordset")
'
rs.OPEN sqlconn31


intTotalRecords 
rs_opiniones.RecordCount
Randomize
()
intRandomNumber Int((intTotalRecords Rnd))
rs_opiniones.Move intRandomNumber
titulo_1
=  rs_opiniones("titulo")
contenido_1 rs_opiniones("contenido")
fecha_1=  rs_opiniones("fecha_not")

link_1rs_opiniones ("link")
link_text_1 rs_opiniones("link_text")
%>
<
span><%=fecha_1%></span><h2>&nbsp;&nbsp;<%=titulo_1%></h2><br />

---------------------------------------------------------------------------------
<
br />

<%
'::::::::::::::::::::::::::::::::::::::::::::::::::::::::
'
::           aqui me muevo un registro por encima
'::::::::::::::::::::::::::::::::::::::::::::::::::::::::

posicio_sup = intRandomNumber+1


        if posicio_sup => intTotalRecords then
posicio_sup2 = posicio_sup-1
rs_opiniones.Move posicio_sup2



        else 
rs_opiniones.Move posicio_sup



        end if

titulo_2=  rs_opiniones("titulo")
contenido_2 = rs_opiniones("contenido")
fecha_2=  rs_opiniones("fecha_not")

link_2= rs_opiniones ("link")
link_text_2 = rs_opiniones("link_text")

%>
<span><%=fecha_2%></span><h2>&nbsp;&nbsp;<%=titulo_2%></h2><br />

<br />
<br />
<br />
<br />
<%'
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
'  ::::::::::::::::  aqui muestro numeros borrrar
'  
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
%>
total registres = <%=intTotalRecords%><br />
posicio_random = <%=intRandomNumber%><br />
posicio_sup = <%=posicio_sup%><br />

posicio_sup2 = <%=posicio_sup2%>
<
br />

<%
rs_opiniones.Close
conn
.close
%> 

el if posicio_sup => intTotalRecords then

es para que cuando posicio_sup sea igual o mayor que el total de registros no me sume si no que me reste posiciones

todo funciona pero cuando el registro es el ultimo me da un error diciendo que el registro ha sido eliminado
  #2 (permalink)  
Antiguo 15/01/2010, 07:47
 
Fecha de Ingreso: abril-2009
Mensajes: 196
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: mostrar dos registros aleatorios

Mira, si estas usando SQL SERVER, te aconsejo mezclar la funcion TOP para limitar a dos registros y la funcion Order By NEWID() que siempre te trae un registro aleatorio....
sería como así:

Select TOP 2 * FROM noticias
Order By NEWID()

A mi me funciono para dar premios... espero te funcione, te ahorras toda esa barbaridad de codigo!

Etiquetas: dos, registros, aleatoria
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 06:30.