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

Que hago con este problema..

Estas en el tema de Que hago con este problema.. en el foro de ASP Clásico en Foros del Web. Hola!!! Mi problema es el siguiente... estoy diseñando un sistema de banners desde una base de datos... pude hacer que se mostraran banner por banner ...
  #1 (permalink)  
Antiguo 10/12/2002, 21:45
Avatar de affv  
Fecha de Ingreso: diciembre-2002
Ubicación: Ahora aqui
Mensajes: 485
Antigüedad: 21 años, 6 meses
Puntos: 0
Pregunta Que hago con este problema..

Hola!!!


Mi problema es el siguiente... estoy diseñando un sistema de banners desde una base de datos... pude hacer que se mostraran banner por banner por medio de una paginacion de uno a uno.. cada 10 segundos el problema es que cuando llega al final de los banners resultados de la base de datos.. siguen contando ... porque si son 10 registros me recorre los 10 registros bien pero el problema es que al llegar a dies noregresa al comienzo si no que continua como si ubieran mas registros... 11, 12, 13, ..

El sistema de banner lo tenia diseñado para que se mostrara randon pero tuve problemas porque hice una medicion y habian banners que se mostraban muchas veces seguidas y otros que no.. (esto no es bueno...) entonces me decidi a mostrarlos uno a uno en orden que se encuentran el la base de datos... pero.. no he podido..

si alguien me puede decir como debo de hacer para que me funcione de esa manera o al menos que para que cuando sea randon no me repita el banner ...

Desde ahora muchas gracias por tu ayuda...
__________________
Todo tiene un comienzo y un fin!!
Postea tus proyectos
  #2 (permalink)  
Antiguo 10/12/2002, 21:58
 
Fecha de Ingreso: febrero-2002
Ubicación: Mi ASP Bunker
Mensajes: 397
Antigüedad: 22 años, 3 meses
Puntos: 1
En algun lado debes cotejar q no haya llegado al final algun contador.

Debes tener algo asi como:

ultimobanner = ultimobanner + 1
if ultimobanner>10 then ultimobanner=1 ' aca pega la vuelta

Para limitar a la cantidad de registros, en lugar de 10 deberia ir RS.Recordcount.

Si tienes dificultades, pon parte del codigo para ver que metodo utilizas puntualmente.
  #3 (permalink)  
Antiguo 11/12/2002, 05:32
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
Mas facil aun, usa rs.recordcount para saber el numero total de registros en tu base de datos y despues usa la funcion RND() para mostrarlos de forma aleatoria.

<%
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
  #4 (permalink)  
Antiguo 11/12/2002, 16:10
Avatar de affv  
Fecha de Ingreso: diciembre-2002
Ubicación: Ahora aqui
Mensajes: 485
Antigüedad: 21 años, 6 meses
Puntos: 0
Lo que pasa Maestro es que asi es justamente como lo tenia pero lo que no quiero es que se muestren aleatoriamente.. porque hay banners que nunca se miran mientras otros lo hacen repitiendose muchas veces,,,
__________________
Todo tiene un comienzo y un fin!!
Postea tus proyectos
  #5 (permalink)  
Antiguo 11/12/2002, 17:17
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
Bueno, si solo es ese el problema puedes solucionarlo añadiendo un campo llamado preferente (por ejemplo), y marcandolo como TRUE.
Imaginate que tienes 50 registros y solo marcas 10 como importantes, esos registros seran los que tendra en cuenta unicamente el generador aleatorio y no todos los elementos de la tabla, con lo cual existen muhcas mas posibilidades de que no se repitan.

Quedaria algo asi:

<%
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 where preferente=true"
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
  #6 (permalink)  
Antiguo 11/12/2002, 18:22
Avatar de affv  
Fecha de Ingreso: diciembre-2002
Ubicación: Ahora aqui
Mensajes: 485
Antigüedad: 21 años, 6 meses
Puntos: 0
Tu metodo funciona... Pero... lo que me gustaria hacer es que fuesen mostrandose los banners en el orden en el que los he ido insertando en la base... que fuese del banner 1 al ultimo... y que al llegar a el volviera a comenzar... pero la verdad que es que he intentado de muchisimas formas pero ninguna me ha resultado... y la verdad es que tengo esta inquietud y me gustaria quitarmela de ensima... pero no se como...


Si alguien tiene la voluntad como la ha tenido Maestro de intentar solucionarme el problema se lo agradeceria....


Muchas gracias... Maestro
Muchas gracias a todos...
__________________
Todo tiene un comienzo y un fin!!
Postea tus proyectos
  #7 (permalink)  
Antiguo 11/12/2002, 19:30
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
Puedes hacerlo tomando como referencia la hora del sistema, ya sabes, a tal hora que se muestre el registro 5, el 6, etc
Y asi todos los visitantes de esa hora lo veran, despues otro, etc etc
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #8 (permalink)  
Antiguo 12/12/2002, 00:14
Avatar de affv  
Fecha de Ingreso: diciembre-2002
Ubicación: Ahora aqui
Mensajes: 485
Antigüedad: 21 años, 6 meses
Puntos: 0
Maestro !!! crees que podrias ayudarme explicandome como hacerlo si no te es mucha molestia!!!!

Porque la verdad es que no se como...!!
__________________
Todo tiene un comienzo y un fin!!
Postea tus proyectos
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 11:52.