Es un codigo un tanto rustico, pero muy facil de entender.
Espero q a alguien le sea util, se los paso:
Código:
Si alguien encuentra errores o formas de hacerlo mas agil, por favor postearlo.<% 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>
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