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