Aporte: Como crear banners aleatorios con PHP – Sistema para sacar banner al azar

Jaison Mora Seguir

Zeta
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
16 Nov 2013
Mensajes
1.589
Para crear un banner que vaya saliendo al azar entre varios con PHP se puede de muchas formas pero siempre hay unas más sencillas que otras y creo que esta que os muestro a continuación es una de las más sencillas

Código PHP:

PHP:
$numbanners = 3; //numero de banners
$random = rand(1,$numbanners);
$enlace = array();
$imagen = array();
$enlace[1] = "http://www.ejemplo1.com";
$imagen[1] = “imagen1.jpg”;

$enlace[2] = "http://www.ejemplo2.es";
$imagen[2] = “imagen2.png”;

$enlace[3] = "http://www.ejemplo3.net";
$imagen[3] = "imagen3.gif";

echo "<a href='".$enlace[$random]."' target='_blank'><img src='".$imagen[$random]."'></a>";

Explicación del codigo:


* Linea 1: Creamos la variable $numbanners y en ella ponemos la cantidad de banners para luego utilizarlo con la función rand
* Linea 2: Creamos la variable $random y en ella almacenamos el resultado de la función rand, esta función lo que hace es obtener un numero aleatorio en el intervalo que le digamos.
* Linea 3: Creamos el array $enlace.
* Linea 4: Creamos el array $imagen.
- Tras definir todo esto simplemente insertamos los datos en los arrays como se muestra en el código, debemos insertar en los arrays tantos datos como banners tengamos.
Por ultimo con la función echo sacamos por pantalla el banner.

Un saludo.:p7::p7:
 
Última edición:

Cicklow

Admin
Dseda
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
Desde
30 May 2011
Mensajes
1.101
Gracias por el aporte, aca te dejo lo mismo pero de otra manera :)
PHP:
<?php
	$ADS[] = array('http://www.url1.com','http://www.url1.com/imagen1.jpg');
	$ADS[] = array('http://www.url2.com','http://www.url1.com/imagen2.jpg');
	$ADS[] = array('http://www.url3.com','http://www.url1.com/imagen3.jpg');
	$ADS[] = array('http://www.url4.com','http://www.url1.com/imagen4.jpg');
	$ADS[] = array('http://www.url5.com','http://www.url1.com/imagen5.jpg');

	$CUAL = array_rand($ADS,1);
	echo '<a href="'.$ADS[$CUAL][0].'" target="_blank"><img src="'.$ADS[$CUAL][1].'" border="0"></a>';
?>

:encouragement:

PD: Fijate que tenes las comillas francesas (creo que se llaman asi), esos no se usan, o son la comillas simple o la doble...
PHP:
echo “<a href=’”.$enlace[$random].”‘ target=’_blank’><img src=’”.$imagen[$random].”‘></a>”;
seria:
PHP:
echo "<a href='".$enlace[$random]."' target='_blank'><img src='".$imagen[$random]."'></a>";
Ya que sino da error el code!
 

Jaison Mora

Zeta
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
16 Nov 2013
Mensajes
1.589
Gracias por el aporte, aca te dejo lo mismo pero de otra manera :)
PHP:
<?php
	$ADS[] = array('http://www.url1.com','http://www.url1.com/imagen1.jpg');
	$ADS[] = array('http://www.url2.com','http://www.url1.com/imagen2.jpg');
	$ADS[] = array('http://www.url3.com','http://www.url1.com/imagen3.jpg');
	$ADS[] = array('http://www.url4.com','http://www.url1.com/imagen4.jpg');
	$ADS[] = array('http://www.url5.com','http://www.url1.com/imagen5.jpg');

	$CUAL = array_rand($ADS,1);
	echo '<a href="'.$ADS[$CUAL][0].'" target="_blank"><img src="'.$ADS[$CUAL][1].'" border="0"></a>';
?>

:encouragement:

PD: Fijate que tenes las comillas francesas (creo que se llaman asi), esos no se usan, o son la comillas simple o la doble...
PHP:
echo “<a href=’”.$enlace[$random].”‘ target=’_blank’><img src=’”.$imagen[$random].”‘></a>”;
seria:
PHP:
echo "<a href='".$enlace[$random]."' target='_blank'><img src='".$imagen[$random]."'></a>";
Ya que sino da error el code!

Tienes razòn no me avia fijado bien en las comillas, Es que mi teclado me las tira asi esta loco jeje pero igual ya lo correji muchas gracias cicklow saludos. :encouragement:
 

Cicklow

Admin
Dseda
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
Desde
30 May 2011
Mensajes
1.101
Tienes razòn no me avia fijado bien en las comillas, Es que mi teclado me las tira asi esta loco jeje pero igual ya lo correji muchas gracias cicklow saludos. :encouragement:

configuralo para español latino asi no aparecen esas comillas :)
 

ouch01

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
13 Ene 2013
Mensajes
10
Ese código es muy mejorable, yo haría algo así:

PHP:
$banners = array(
	array('http://www.ejemplo1.com', 'imagen1.jpg'),
	array('http://www.ejemplo2.com', 'imagen2.jpg'),
	array('http://www.ejemplo3.com', 'imagen3.jpg')
);
$rand = mt_rand(0, count($banners)-1);
echo '<a href="'.$banners[$rand][0].'" target="_blank"><img src="'.$banners[$rand][1].'" /></a>';
 

jtsamper

Beta
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
26 Dic 2013
Mensajes
60
Muy cierto, es mejorable, yo usaría la escritura de un simple archivo de texto para hacer que los banner se vieran si o si.

De esta forma dependes que la función mt_rand o similares muestre todos.
 

davidkaotiko7

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
19 Feb 2014
Mensajes
9
Hola a todos.
A mi me interesaría que muestre las imagenes en su orden natural.
Es decir, la primera vez que cargues la página, sea el banner 1, la segunda el 2, etc.

O que muestre todas esas imágenes de manera aleatoria en varias posiciones, no sólo en una posición.
Os agradecería una ayuda con esto.
Gracias.
 

goms

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
1 Jun 2013
Mensajes
358
Lo mas facil. Armate una carpeta con los banners 1.jpg 2.jpg 3.jpg etc. Luego simplemente haces <img src="banners/<?echo mt_rand(1,3);?>.jpg"/>
 

davidkaotiko7

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
19 Feb 2014
Mensajes
9
Habría que cambiar ese código por el código que tenemos en el tema?? o incluírselo??

PHP:
$banners = array(
    array('http://www.ejemplo1.com', 'imagen1.jpg'),
    array('http://www.ejemplo2.com', 'imagen2.jpg'),
    array('http://www.ejemplo3.com', 'imagen3.jpg')
);
$rand = mt_rand(0, count($banners)-1);
echo '<a href="'.$banners[$rand][0].'" target="_blank"><img src="'.$banners[$rand][1].'" /></a>';
 
Arriba