hola
quiero rotar unos banners que saco de una db, en donde tengo la imagen y el url, pero que lo haga sin refrescar la página, es decir que me lo refresque cada x segundos alguien conoce algun script?
| ||||
banner rotator hola quiero rotar unos banners que saco de una db, en donde tengo la imagen y el url, pero que lo haga sin refrescar la página, es decir que me lo refresque cada x segundos alguien conoce algun script?
__________________ |
| |||
Hola, ¿Sin refrescar la pagina? Eso quieres decir que se tiene que ejecutar en el servidor. Y como PHP se ejecuta en el servidor, pues no lo puedes hacer con PHP. Debes usar Javascript. Y si, ya se que desde javascript no tienes acceso a la BD. Pero el javascript es para solicitar un nuevo banner al servidor, no para elegir el banner. Ese javascript lo que tiene que hacer es cada x segundos reemplazar el banner actual por el banner 'rotar_banner.php?semilla=12345', donde '12345' lo generas aleatoriamente en javascript o con otro metodo. Debe ser distinto cada vez para que el navegador no lo coja del cache. Y rotar_banner.php usa 'semilla' como semilla del numero aleatorio y devuelve la imagen que lee de la BD. Suerte.
__________________ Josemi Aprendiz de mucho, maestro de poco. |
| |||
Podría tambien generar el Javascript necesario para indicar a la rutina javascript que banners son los que ha de usar ... Esta generación de ese código javascript tan solo sería necesario generarla ante un cambio en la Base de datos (ya sea por un Insert/delete/update) .. Consejo: Consiguete la rutina javascript q haga el efecto deseado (el rotar banners de una lista de banners ..) Cuando lo tengas haza lo q te comento simplemetne genera ese (tal vez .js) con los datos de tu BD para esos nombres de archivos (banners) .. y en tus paginas lee ese .js solo .. Un saludo, |
| |||
solucion "ñapa", usa iframe. en ese caso, no rompe la estetica si se usa bien, pq siempre tendra el mismo tamaño. la opcion mas elegante, es usar java, si... pero ... la "ñapa" en este caso, es infinitamente más rápida e = de efectiva.
__________________ Linux, es para los que odian Microsoft/Windows, BSD, es para los que amamos *IX. |
| ||||
Cita: ya tengo el java, de hecho estaba trabajandolo manualmente pero ya se complico bastante con la base de datos cada vez mas grandeMensaje Original por Cluster Consejo: Consiguete la rutina javascript q haga el efecto deseado (el rotar banners de una lista de banners ..) Cuando lo tengas haza lo q te comento simplemetne genera ese (tal vez .js) con los datos de tu BD para esos nombres de archivos (banners) .. y en tus paginas lee ese .js solo .. Un saludo, [/B] lo que no te entendi muy bien es la parte de generar el .js podrias explicarmelo un poco mejor
__________________ |
| |||
Se trata simplemente de generar una consulta de tu BD con los banners que tegna que rotar. Si tu rutina javascript por ejemplo guarda los datos del banner que va a rotar en un array por ejemplo: instrucciones javascrip .. array_banner[1]='banner1.gif'; array_banner[2]='banner2.gif'; array_banner[3]='banner3.gif'; resto de instrucciones javascript .. (array javascript ..) Tan solo haz tu consulta a tu BD y genera esas líneas para el javascript .. Código PHP: Un saludo, |
| ||||
excelente, voy a probarlo
__________________ |
| |||
Hola, Cluster, ¿no seria mas facil que el .js sea un .php que genere todo el javascript? Lo digo para evitar el lio de permisos para escribir ficheros. Ya se que puede llevar a que haya mas consultas a la base de datos de lo normal, pero creo que puede ser mas sencillo. Saludos.
__________________ Josemi Aprendiz de mucho, maestro de poco. |
| |||
Si, claro .. crear un archivo en el sistema de archivos del servidor le puede dar problemas de permisos .. pero vamos, para eso está chmod() si le hace falta o los permisos que le dé al directorio/fichero ... Creo q genear el fichero ".js" es mas optimo .. sobre todo si los cambios en esa BD no son muy amenudo. Yo así lo uso por ejemplo en sistemas de noticias que presento en todas las paginas de un sitio .. el ahorro de consultas a la BD es muyyyyy considerable. Lo mismo va a sucecer con un sistema de banners de ese tipo. Un saludo, |