Foros del Web » Programando para Internet » PHP »

Cambio automatico de Banner

Estas en el tema de Cambio automatico de Banner en el foro de PHP en Foros del Web. Hola, como hago para hacer un script de cambio automatico de banners? y si es con BD mucho mejor. Saludos....
  #1 (permalink)  
Antiguo 21/10/2003, 16:23
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 16 años, 4 meses
Puntos: 6
Cambio automatico de Banner

Hola, como hago para hacer un script de cambio automatico de banners? y si es con BD mucho mejor.

Saludos.
__________________
www.dataautos.com

Última edición por asinox; 21/10/2003 a las 16:25
  #2 (permalink)  
Antiguo 21/10/2003, 16:34
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 14 años, 11 meses
Puntos: 2
Web de camargo

Estaba en la web de camargo


Rotador de Banners
Hola! En este artículo, muestro el simple codigo que uso para el rotador de banners de esta Zonamaster. Es muy simple, consiste en el siguiente codigo:

<?php

$numbanners = 4 ;
$random = rand(1,$numbanners);
$img = array();
$url = array();
$txt = array();

$img[1] = " http://www.tuweb.com/banner1.gif ";
$url[1] = " http://www.tuweb.com ";
$txt[1] = " Tu Sitio Web! ";

$img[2] = " http://www.tuweb.com/banner2.gif ";
$url[2] = " http://www.tuweb2.com ";
$txt[2] = " Tu Sitio Web 2! ";

$img[3] = " http://www.tuweb.com/banner3.gif ";
$url[3] = " http://www.tuweb3.com ";
$txt[3] = " Tu Sitio Web3! ";

$img[3] = " http://www.tuweb.com/banner4.gif";
$url[3] = " http://www.tuweb4.com ";
$txt[3] = " Tu Sitio Web4! ";

echo "<a href='$url[$random]' target=' _blank '><img src='$img[$random]' alt='$txt[$random]' border=' 0 '></a>";

?>

Como les dije, es simple. Solo edita las url de las imágenes, de los banners, y crea una pagina llamada: banners.php

Le pones ese codigo que les dí, y la incluyes en tu pagina principal, de esta manera:

<?php include("banners.php"); ?>

Es todo, Saludos!


http://www.hotmex.com/webmasters/articulo.php?id=130
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #3 (permalink)  
Antiguo 21/10/2003, 16:36
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 16 años, 4 meses
Puntos: 6
sip, ok, perfecto...pero y si manejamos BD y tengo todo en las tablas?...como tomo ID's Aleatoriamente?
__________________
www.dataautos.com
  #4 (permalink)  
Antiguo 21/10/2003, 16:49
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 16 años, 3 meses
Puntos: 0
te sirve un script prefabricado?
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #5 (permalink)  
Antiguo 21/10/2003, 16:50
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 16 años, 4 meses
Puntos: 6
bueno pues claro, pero quiero aprender hacerlo tambien...
__________________
www.dataautos.com
  #6 (permalink)  
Antiguo 13/04/2004, 12:40
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 16 años, 3 meses
Puntos: 0
Cita:
Mensaje Original por asinox
bueno pues claro, pero quiero aprender hacerlo tambien...
entonces podés probar con nkads: http://nkads.nkstudios.net/
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #7 (permalink)  
Antiguo 13/04/2004, 12:44
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 15 años, 1 mes
Puntos: 2
como lo quieres, que cambie cada xx segundos, muinutos, dias., meses?

dime?
__________________
3w.valenciadjs.com
3w.laislatv.com
  #8 (permalink)  
Antiguo 13/04/2004, 13:05
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 15 años, 1 mes
Puntos: 2
Código PHP:
<html>

    <head>
        <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
        <meta name="generator" content="Maguma Studio Pro">
        <title>Max Banner</title>
    </head>

        <body bgcolor="#ffffff">

<?php
/*
#ESTO ERS LA BASE DE DATOS

DROP TABLE IF EXISTS `max_banner`;
CREATE TABLE `max_banner` (
  `id` int(11) NOT NULL auto_increment,
  `nombre` varchar(100) NOT NULL default '',
  `ver` int(1) NOT NULL default '0',
  PRIMARY KEY  (`id`),
  KEY `id` (`id`)
) TYPE=MyISAM;

INSERT INTO `max_banner` (`id`, `nombre`, `ver`) VALUES("1", "imagen_01.gif", "0");
INSERT INTO `max_banner` (`id`, `nombre`, `ver`) VALUES("2", "imagen_02.gif", "0");
INSERT INTO `max_banner` (`id`, `nombre`, `ver`) VALUES("3", "imagen_03.gif", "1");

*/

/*CARGAMOS CONFIGURACION DEL SERVIDOR*/
$sql_host "localhost";    // Host, nombre del servidor o IP del servidor Mysql.
$sql_usuario "xxxx";      // Usuario de Mysql
$sql_pass "xxxx";            // contraseña de Mysql

/*CARGAMOS LA BASE DE DATOS*/
$sql_db "max_banner";     // Base de datos que se usará

/*CARGAMOS LAS TABLAS DE LA BASE DE DATOS*/
$sql_tabla "max_banner"// Nombre de la tabla que contendrá los datos de los usuarios

/*CONECTAMOS CON MYSQL*/
$db_connect mysql_connect($sql_host,$sql_usuario,$sql_pass);
mysql_select_db($sql_db);

/*CARGAMOS TODOS LOS REGISTROS DE LAS BASES DE DATOS*/
$selecttbl "id,nombre";  //Campos tabla


echo "<font face=Verdana size=2 color=Maroon><center>segundos <b>"date("s")."</b><br>10 segundos =>banner1, 30 segundos =>banner2, 50 segundos =>banner3<br><br>";

$id rand(13); //busca un numero entre 1 y 3, es el numero de images que tienes en la base de datos

    
switch (date("s")) { //saco los segundos de la hora

        
case '10'//si los segundos pasan, ejecuta code

               
mysql_query("UPDATE $sql_tabla SET ver='0'") or die(mysql_error()); //pone todos los banner a 0, para no mostrar
            
mysql_query("UPDATE $sql_tabla SET ver='1' WHERE id='$id'") or die(mysql_error()); //le pone 1 al que queremos mostrar al azar

        
break; //saltamos


        
case '30'//si los segundos pasan, ejecuta code

            
mysql_query("UPDATE $sql_tabla SET ver='0'") or die(mysql_error()); //pone todos los banner a 0, para no mostrar
            
mysql_query("UPDATE $sql_tabla SET ver='1' WHERE id='$id'") or die(mysql_error()); //le pone 1 al que queremos mostrar al azar

        
break; //saltamos


        
case '50'//si los segundos pasan, ejecuta code

            
mysql_query("UPDATE $sql_tabla SET ver='0'") or die(mysql_error()); //pone todos los banner a 0, para no mostrar
            
mysql_query("UPDATE $sql_tabla SET ver='1' WHERE id='$id'") or die(mysql_error()); //le pone 1 al que queremos mostrar al azar

        
break; //saltamos

         
default:
        break;

}


    
$consulta_banner mysql_query("SELECT $selecttbl FROM $sql_tabla WHERE ver='1'") or die(mysql_error()); //buscamos banner

        
while($result_banner mysql_fetch_array($consulta_banner)) { //generamos banner

            
echo "<img src=".$result_banner['nombre']." height=75 width=200 border=0>"//mostramos banner

        
}

?>

        </body>

</html>
aqui te dejo un ejemplo de como seria si quieres que cambie cada x segundos... puedes hacerlo tb con dias, años... etc.---, crea una carpeta que se llame /images/, y dentro metes 3 GIF, imagen_01.gif, imagen_02.gif, imagen_03.gif

un saludo!
__________________
3w.valenciadjs.com
3w.laislatv.com
  #9 (permalink)  
Antiguo 14/04/2004, 05:58
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 16 años, 4 meses
Puntos: 6
Ey , Gracias :)
__________________
www.dataautos.com
  #10 (permalink)  
Antiguo 14/04/2004, 16:27
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 14 años, 11 meses
Puntos: 2
No funciona?

Pues lo he probado en mi localhost y no funciona, siempre me muestra la image3 y el resto nadaa

A que se debe?
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #11 (permalink)  
Antiguo 14/04/2004, 16:53
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 14 años, 11 meses
Puntos: 2
Código PHP:
<html>

    <head>
        <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
        <meta name="generator" content="Maguma Studio Pro">
        <title>Max Banner</title>
    </head>

        <body bgcolor="#ffffff">

<?php
/*
#ESTO ERS LA BASE DE DATOS

DROP TABLE IF EXISTS `max_banner`;
CREATE TABLE `max_banner` (
  `id` int(11) NOT NULL auto_increment,
  `nombre` varchar(100) NOT NULL default '',
  `ver` int(1) NOT NULL default '0',
  PRIMARY KEY  (`id`),
  KEY `id` (`id`)
) TYPE=MyISAM;

INSERT INTO `max_banner` (`id`, `nombre`, `ver`) VALUES("1", "imagen_01.gif", "0");
INSERT INTO `max_banner` (`id`, `nombre`, `ver`) VALUES("2", "imagen_02.gif", "0");
INSERT INTO `max_banner` (`id`, `nombre`, `ver`) VALUES("3", "imagen_03.gif", "1");

*/

/*CARGAMOS CONFIGURACION DEL SERVIDOR*/
$sql_host "localhost";    // Host, nombre del servidor o IP del servidor Mysql.
$sql_usuario "xxxx";      // Usuario de Mysql
$sql_pass "xxxx";            // contraseña de Mysql

/*CARGAMOS LA BASE DE DATOS*/
$sql_db "max_banner";     // Base de datos que se usará

/*CARGAMOS LAS TABLAS DE LA BASE DE DATOS*/
$sql_tabla "max_banner"// Nombre de la tabla que contendrá los datos de los usuarios

/*CONECTAMOS CON MYSQL*/
$db_connect mysql_connect($sql_host,$sql_usuario,$sql_pass);
mysql_select_db($sql_db);

$sql mysql_query("SELECT * FROM $sql_tabla");
while(
$resultado=mysql_fetch_array($sql))   {  
extract($resultado);
$id $resultado['id'];
$nombre $resultado['nombre']; //me faltaba esto 
}
/*CARGAMOS TODOS LOS REGISTROS DE LAS BASES DE DATOS*/
$selecttbl "id,nombre";  //Campos tabla
echo "<font face=Verdana size=2 color=Maroon><center>segundos <b>"date("s")."</b><br>10 segundos =>banner1, 30 segundos =>banner2, 50 segundos =>banner3<br><br>";

$id rand(13); //busca un numero entre 1 y 3, es el numero de images que tienes en la base de datos

    
switch (date("s")) { //saco los segundos de la hora

        
case '10'//si los segundos pasan, ejecuta code

               
mysql_query("UPDATE $sql_tabla SET ver='0'") or die(mysql_error()); //pone todos los banner a 0, para no mostrar
            
mysql_query("UPDATE $sql_tabla SET ver='1' WHERE id='$id'") or die(mysql_error()); //le pone 1 al que queremos mostrar al azar

        
break; //saltamos


        
case '30'//si los segundos pasan, ejecuta code

            
mysql_query("UPDATE $sql_tabla SET ver='0'") or die(mysql_error()); //pone todos los banner a 0, para no mostrar
            
mysql_query("UPDATE $sql_tabla SET ver='1' WHERE id='$id'") or die(mysql_error()); //le pone 1 al que queremos mostrar al azar

        
break; //saltamos


        
case '50'//si los segundos pasan, ejecuta code

            
mysql_query("UPDATE $sql_tabla SET ver='0'") or die(mysql_error()); //pone todos los banner a 0, para no mostrar
            
mysql_query("UPDATE $sql_tabla SET ver='1' WHERE id='$id'") or die(mysql_error()); //le pone 1 al que queremos mostrar al azar

        
break; //saltamos

         
default:
        break;

}


    
$consulta_banner mysql_query("SELECT $selecttbl FROM $sql_tabla WHERE ver='1'") or die(mysql_error()); //buscamos banner

        
while($result_banner mysql_fetch_array($consulta_banner)) { //generamos banner

            
echo "<img src=".$result_banner['nombre']." height=75 width=200 border=0>"//mostramos banner

        
}

?>

        </body>

</html>
Ahora ya lo consegui correr pero ahora solo no me muestra los banners :S solo me muestra la imagen numero 2 ? que esta pasando
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
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 14:07.