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

Banner al azar en marcador de imagen

Estas en el tema de Banner al azar en marcador de imagen en el foro de ASP Clásico en Foros del Web. Hola, solo queria hacer un aporte, es un simple codigo para mostrar banners al azar en cantidades establecidas. Es un codigo un tanto rustico, pero ...
  #1 (permalink)  
Antiguo 11/06/2004, 14:43
Avatar de sktrpunk  
Fecha de Ingreso: septiembre-2003
Ubicación: Montevideo
Mensajes: 227
Antigüedad: 20 años, 9 meses
Puntos: 0
Mensaje Banner al azar en marcador de imagen

Hola, solo queria hacer un aporte, es un simple codigo para mostrar banners al azar en cantidades establecidas.
Es un codigo un tanto rustico, pero muy facil de entender.
Espero q a alguien le sea util, se los paso:
Código:
<%
Dim x, t, i

Set con=Server.CreateObject("ADODB.connection")
con.connectionString = "base"
con.mode = 3
con.open

set rs = Server.CreateObject("ADODB.recordset")
rs.locktype = 3
rs.cursortype = 2
rs.open "SELECT * FROM propaganda", con

'chekeo q exista algun registro
if NOT rs.eof then
if NOT rs.bof then
'mueve al primer registro y establece i
rs.movefirst
i = 1
'bucle para contar registros devueltos
While NOT rs.eof
i = i + 1
rs.movenext
Wend
'elijo numero al azar, entero, y le sumo 1 para evitar el 0, ya que la funcion Int redondea hacia abajo
Randomize
i = Int(Rnd * i) + 1
t = 0
rs.movefirst
'Avanza i veces, para comenzar a mostrar a partir de ese registro
While t < i
'Si llega al ultimo registro, vuelve al primero tantas veces como el While lo indique
if rs.eof then
rs.movefirst
t = t + 1
else
'sino, simplemente continua avanzando
rs.movenext
t = t + 1
end if
Wend
end if
end if
%>
<html>
<head>
<title>Despliega banners al azar</title>
</head>

<body>
	<%
'x es el numero de banners a mostrar
	x = 1
	While x < 4
	if NOT rs.eof then
'Comienza a mostrar registros a partir del cual quedo el bucle
	%>
      <p><img src="<%=rs("banner")%>" name="banner00<%=x%>" width="148" height="70"></p>
      <%
	  rs.movenext
'En caso que llegue al ultimo registro, vuelve al primero, restandole 1 a x pq cada vez q chekea la condicion IF, le suma uno a x, sin importar q la condicion se cumpla o no, por lo q al volver al primero no estamos mostrando ningun registro, pero si sumandole 1 a x, por lo q neutralizo eso con un -1
	  else
	  rs.movefirst
	  x = x - 1
	  end if
	  x = x + 1
	  Wend
	  %>
<%="<br><br>"&i%>

</body>
</html>
Si alguien encuentra errores o formas de hacerlo mas agil, por favor postearlo.
Creo q el AdRotator no seria util en este caso ya q el porcentaje de veces no nos interesa, ademas podriamos agregarle link si asi lo quisieramos, al igual q el atributo alt y todo lo q quisieramos.
Antes q me lo pregunten, no utilizo el GetRows ya q en muchos casos da error, esta forma es mas segura.
Gracias por la atencion,
un abrazo a tod@s

AlvAro
__________________
- Sk8 FoR LiFe -
Stay away from my Black Book
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 20:47.