Foros del Web » Programando para Internet » PHP »

banner rotator

Estas en el tema de banner rotator en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 13/03/2003, 14:58
Avatar de lubetpic  
Fecha de Ingreso: enero-2002
Ubicación: San Jose
Mensajes: 679
Antigüedad: 22 años, 3 meses
Puntos: 0
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?
  #2 (permalink)  
Antiguo 13/03/2003, 15:26
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
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.
  #3 (permalink)  
Antiguo 13/03/2003, 16:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
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,
  #4 (permalink)  
Antiguo 13/03/2003, 19:27
 
Fecha de Ingreso: febrero-2002
Ubicación: ¿donde vivo? pues en mi casa, ¿donde voy a vivir?...
Mensajes: 214
Antigüedad: 22 años, 1 mes
Puntos: 0
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.
  #5 (permalink)  
Antiguo 13/03/2003, 23:08
Avatar de lubetpic  
Fecha de Ingreso: enero-2002
Ubicación: San Jose
Mensajes: 679
Antigüedad: 22 años, 3 meses
Puntos: 0
Cita:
Mensaje 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]
ya tengo el java, de hecho estaba trabajandolo manualmente pero ya se complico bastante con la base de datos cada vez mas grande

lo que no te entendi muy bien es la parte de generar el .js podrias explicarmelo un poco mejor
  #6 (permalink)  
Antiguo 14/03/2003, 09:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
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:
<?
// conexion .. consulta .. etc a tu tabla de tu BD ..


// inciar archivo a guardar ..
$archivo=fopen("banner.js","w");

// escribir en el archivo las líneas de código del principio e la rutina ..
fwrite($archivo,"resto javascript");

// componer el array(s) javascript con tus datos de tu BD. y guardarlo en tu archivo .. (ojo con \n salto de línea necesario..)
$contador=0;
while (
$registro=mysql_fetch_assoc($consulta)){
fwrite($archivo,"array_banner[".$contador."]='".$registro['banner_imagen']."';\n");
$contador++;
}

// escribri el resto del archivo javascript .. 
fwrite($archivo,"resto javascript");
?>
Y en tus páginas HTML tan solo llamas a tu rutína javacript .js con el típico <script languaje="javascript" src="banner.js"></script> y llamas a las funciones javascript q uses .. si las usas ..

Un saludo,
  #7 (permalink)  
Antiguo 14/03/2003, 12:02
Avatar de lubetpic  
Fecha de Ingreso: enero-2002
Ubicación: San Jose
Mensajes: 679
Antigüedad: 22 años, 3 meses
Puntos: 0
excelente, voy a probarlo
  #8 (permalink)  
Antiguo 14/03/2003, 14:33
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
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.
  #9 (permalink)  
Antiguo 14/03/2003, 14:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
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,
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 09:11.