Muchas veces uno quiere rotar banners en alguna sección de algún sitio web, una forma sencilla es hacerlo de forma aleatoria, aquí les dejo el código para hacerlo:
<?php
$numerodebanners = 3; // Numero de banners
$random = rand(1,$numerodebanners);
$Publicidades = array();
$Publicidades[1] = <<<EOT
// Aquí tu código del primer banner
EOT;
$Publicidades[2] = <<<EOT
// Aquí tu código del segundo banner
EOT;
$Publicidades[3] = <<<EOT
// Aquí tu código del tercer banner
EOT;
echo $Publicidades[$random];
?>
Es realmente muy sencillo, puedes incorporar este código a WordPress o a cualquier sitio que tengas con PHP. Simplemente cambiando el numero de banners por el que quieras puedes agregar todos los banners que desees, después tienes que ir incrementando el array por ejemplo $Publicidades[4], etc.
Tambien funciona con Adsense 😀
Espero que les sea útil.
Portafolio Blog
18 años ago
Excelente 😀 tal lo que te había dicho en el otro post, si que eres rápido Pablo, tienes la ventaja impresionante de enterarte bien de estos temas… Y yo por mi parte la suerte de ser tu amigo 😀 jajajajajaja
Gracias, seguro que será de utilidad para muchos bloggers y webmasters…
TecnoBITA
18 años ago
Si mikel, esto es útil para todo webmaster/blogger y mucho más si funciona con adsense…
Pablo
18 años ago
jajajaja No hay problema Mikel, hoy Conker me pregunto lo mismo asi que era duda general, bueno ahora no tienen excusas para hacer rotar sus banners en sus blogs 😀
Ronny Yinki
18 años ago
servira al blogger?
Pablo
18 años ago
Hola Ronny, la verdad nunca estuve en Bloggers pero si permite la ejecución de codigo no debería tener problemas, pero creo que no lo permite, sera cuestión de probarlo. Saludos
TecnoBITA
18 años ago
En blogger no funciona…
Tips para cuidar a los anunciantes | Kabytes
17 años ago
[…] le podemos dar la opción de incluir varios tipos de banners en su espacio y luego hacerlos rotar de forma aleatoria. De cara al anunciante esta opción puede ser muy positiva para probar distintos formatos y ver […]
Take Away
17 años ago
Increíble, yo pegándome con el adrotator y de repente la forma más sencilla con éste código es el que mejor funciona
Take Away
17 años ago
Solo me deja un array con 3 anuncios, cunado intento incluir más no me deja…
Pablo
17 años ago
Hola Take, que error te devuelve?
Saludos!
Pablo Diego
17 años ago
En primer lugar quiero agradecer porque el script realmente funciona, es verdaderamene eficiente y lo estoy utilizando para una web que lleva bastante publicidad.
Pero resulta que ocurre algo un poco extraño y es que muestra, justo encima del lugar en donde se muestran todos los Banners el «?>» que cierra el bloque en donde va el código de los mismos.
Sinceramente no encuentro la manera de ocultarlo.
Alguien podría sugerir algo?
Muchas Gracias nuevamente.
take away
17 años ago
Pablo perdona mi tardanza ni me he dado cuenta de que has respondido.
Ya he conseguido implementar el array (no metí el número entre prentesis)
pero ahora elproblema es que me sale en el blog estas dos rayitas //
take away
17 años ago
Luego me da un error, porque tiende a salir varias veces repetido el mismo anuncio, como puedo solucionar eso?
Pablo
17 años ago
@Pablo Diego: Fijate que seguramente estas cerrando dos veces el mismo ?> si no es asi avisame.
@Take Away: las dos rayitas son por que de seguro que estas cerrando mal en algun lado un ;, si queres pasame por mail el codigo que estas usando y te digo, para evitar que salga repetido muchas veces el mismo anuncio lo unico que puedes hacer es meter mas publicidades, al menos de esta forma 😀
take away
17 años ago
Pablo podrías poner el código para incluir no solo 3 sino N veces.
Ahí te dejo el código (el número 5 aparece el número 5)….
<?php
$numerodebanners = 5; // Numero de banners
$random = rand(0,$numerodebanners);
$Publicidades = array(5);
$Publicidades[1] = <<<EOT
//
EOT;
$Publicidades[2] = <<<EOT
//
var uri = ‘http://impes.tradedoubler.com/imp?type(js)g(16995152)a(1380711)’ + new String (Math.random()).substring (2, 11);
document.write(»);
EOT;
$Publicidades[3] = <<<EOT
//
EOT;
$Publicidades[4] = <<<EOT
//
var uri = ‘http://impes.tradedoubler.com/imp?type(js)g(16392968)a(1380711)’ + new String (Math.random()).substring (2, 11);
document.write(»);
EOT;
$Publicidades[5] = <<<EOT
//
var uri = ‘http://impes.tradedoubler.com/imp?type(img)g(16914506)a(1380711)’ + new String (Math.random()).substring (2, 11);
document.write(‘‘);
EOT;
echo $Publicidades[$random];
?>
Pablo
17 años ago
Hola Take, el codigo seria practicamente el mismo, tendrias que sacar la linea $numerodebanners = 5; // Numero de banners y en la siguiente poner:
$random = rand(0,count($numerodebanners)); y moverla abajo de todo para que la funcion pueda contar la cantidad de publicidades que cargaste.
Luego en el array en lugar de poner un numero no pongas nada y se incrementara solo, con solo poner $publicidades[] estaria funcional 😀
Avisame si me entendiste 😀
take away
17 años ago
Pues va a ser que no lo del array ok pero lo de bajar el banner 5 pues como que no..
Podrías incluir el script como el del post pero con 6 o 7 (de ejemplo)?
Tonyx
17 años ago
Hola, que tal? bueno les comento que tengo un codigo en javascript para banners rotatorios pero de manera aleatoria, y quiero evitar eso, es decir, quiero que me muestre las imagenes en el orden en el que tengo el arreglo y cuando las muestre todas, vuelva a empezar… como un ciclo… Se que el «random» hace la funcion de mostrarla aleatorias pero tambien se que no es sencillo, es decir, no basta con borrar el dandom y ya… podrian ayudarme? soy webmaster desde ace como 1 mes y hasta ahora este problemita me tiene algo bloqueado…
Gracias de antemano…!! Aqui les envio mi codigo (lo creo un compañero de trabajo que lo saco de un foro, pero tampoco sabe eliminarle el random):
/* ******************************************************************/
window.onload = function() {
setInterval(muestraImagen, 2000);
construye();
}
function muestraImagen(){
var numeros = new Array(9);
var b = new Array(«banners/bannereglamentoLOCTI.jpg»,
«banners/4tocongresosoftwarelibre.jpg»,
«banners/acreditacion.jpg»,
«banners/bloque_fijo_150_x_90.gif»,
«banners/CambioMonetario.jpg»,
«banners/cvlac_conect.gif»,
«banners/IVcensoEconomico.jpg»,
«banners/libroBiotecnolog.jpg»,
«banners/registro_sidcai.gif»,
«banners/consultaPublicaCenditelV2.jpg»);
var l =new Array(«http://www.mct.gob.ve/Vistas/Frontend/documentos/AnteproyectoReglamentoLOCTI.pdf»,
«http://www.cnsl.org.ve/tiki-index.php?page=caracas»,
«http://www.fonacit.gob.ve/convocatorias.asp?id=44»,
«http://www.mct.gob.ve/publico/capacitacion/», //Malo
«http://www.bcv.org.ve/reconversion/bcvreconv.htm»,
«http://150.188.88.16:7777/silacve/PRC_CVLAC_LOGIN?f_opc=cvlac&f_nacion=V»,
«http://www.ine.gob.ve/ine/milcono/Index.htm»,
«http://www.mct.gob.ve/Vistas/Frontend/documentos/LibroBIOTECNOLOGICO_MPPCT.pdf»,
«http://sidcai.oncti.gob.ve/»,
«http://www.mct.gob.ve/Controladores/controlador_cnoticias.php?id_contenido=110»);
var x=Math.random()*numeros.length;
var y=parseInt(x);
document.getElementById(«imagen»).innerHTML =»«;
}
/* ******************************************************************/
PD: no se si me explique, lo que quiero es que las imagenes se muestren en el mismo orden en el que las tengo en el Array. Quisiera evitar modificar mucho la estructura, aunque si no hay de otra, pues chevere… Lo agradecere de verdad.
Saludos!!!
Tonyx
17 años ago
El codigo anterior llego con errores… disculpen, este es el verdadero:
/***************************************************/
window.onload = function() {
setInterval(muestraImagen, 2000);
construye();
}
function muestraImagen(){
var numeros = new Array(9);
var b = new Array(«banners/bannereglamentoLOCTI.jpg»,
«banners/4tocongresosoftwarelibre.jpg»,
«banners/acreditacion.jpg»,
«banners/bloque_fijo_150_x_90.gif»,
«banners/CambioMonetario.jpg»,
«banners/cvlac_conect.gif»,
«banners/IVcensoEconomico.jpg»,
«banners/libroBiotecnolog.jpg»,
«banners/registro_sidcai.gif»,
«banners/consultaPublicaCenditelV2.jpg»);
var l =new Array(«http://www.mct.gob.ve/Vistas/Frontend/documentos/AnteproyectoReglamentoLOCTI.pdf»,
«http://www.cnsl.org.ve/tiki-index.php?page=caracas»,
«http://www.fonacit.gob.ve/convocatorias.asp?id=44»,
«http://www.mct.gob.ve/publico/capacitacion/»,
«http://www.bcv.org.ve/reconversion/bcvreconv.htm»,
«http://150.188.88.16:7777/silacve/PRC_CVLAC_LOGIN?f_opc=cvlac&f_nacion=V»,
«http://www.ine.gob.ve/ine/milcono/Index.htm»,
«http://www.mct.gob.ve/Vistas/Frontend/documentos/LibroBIOTECNOLOGICO_MPPCT.pdf»,
«http://sidcai.oncti.gob.ve/»,
«http://www.mct.gob.ve/Controladores/controlador_cnoticias.php?id_contenido=110»);
var x=Math.random()*numeros.length;
var y=parseInt(x);
document.getElementById(«imagen»).innerHTML =»«;
}
/* ********************************************************************/
Ahora si 😉
Gracias!
Tonyx
17 años ago
document.getElementById(«imagen»).innerHTML =» «;
}
PD: Veo que hay problemas para mostrar la ultima linea de codigo… lo que viene despues del innerHTML…
Tonyx
17 años ago
innerHTML =»a h r e f='» + l [y] + » ‘ i m g s r c ='» + b[y] + «‘/ > /a»;
}
PD: ultimo intento… jejeje me rindo… les elimine los de las etiquetas de a y tambien en los de las imagenes… espero salga y sea entendible.
Joel Cristobal
17 años ago
Que buen aporte gracias
Atte:
—————————————
Joel Cristobal
Diseño Web Peru
http://www.disenowebperu.info
http://www.joelcristobal.com
Fer
17 años ago
Este código me funciono de maravilla:
<?
$numbanners = 3; //numero de banners que se rotarán
$random = rand(1,$numbanners);
$img = array();
$url = array();
$img[1] = «3_imagenes/ahorrocel 3d.JPG»;
$url[1] = «http://www.ahorrocel.com.mx»;
$img[2] = «animaciones/vendobara150x85pixeles.jpg»;
$url[2] = «http://www.vendobara.com»;
$img[3] = «publicidad/canirac.JPG»;
$url[3] = «http://www.caniracnacional.com.mx/»;
echo ««;
?>
Pero no se como hacerlo funconar en varios renglones sin que se duplique un banner en dos renglones.
Gracias
Pablo
17 años ago
@Fer: No se si sabes programar en PHP, si no lo sabes me dices y te preparo el script sin ningun problema, pero como recien vi tu comentario te cuento que puedes utilizar array rand para mezclar el array y evitar que sea aleatorio por cada llamada a la funcion, eso es lo que hace que se repita.
Justamente ya estoy saliendo, y me imagino que lo necesitas medio urgente de ahi que te dejo esa esta respuesta, pero si no te sirve, sin ningun problema yo manana mismo preparo el script con mas tiempo, solo tienes que avisarme.
Saludos! 😀
Fer
17 años ago
Que tal!! Pablo, fijate que si apenas estoy en mis inicios con PHP.
De ante mano te agradesco tu gran ayuda, y no sabes el dolor de cabeza que me quitarias si me envias el script por favorrrrrrrr.
De cualquier forma ya estoy estudiando un ejemplo de JPINEDO que se encuentra en el vinculo ke me facilitaste de «array rand».
Muchisimas gracias pablo, que tengas un buen dia o noche…ji ji… y todos los amigos de este excelente foro.
sebax2k
17 años ago
me funciono impecable… gracias…
Marlon
16 años ago
Y como haria para en vez de poner banners publicitarios, poner mis post destacados, asi como lo tienen en fayerwayer.com, me interesa saber como lograrlo, espero me den una solucion.
Manuel
16 años ago
Pues de momento va bien, ya podré verlo mas a fondo.
Muy simple pero bueno, no me quería complicar con sistemas de rotación de banner, asi que por el momento y con la afluencia que tiene mi web, tampoco necesito gran cosa.
Por si quereis verlo es ventanuncios.com
Gracias por la aportación.
Saludos.
Martin
15 años ago
hola amigos, yo tambien estoy empezando con php, y me surge la siguiente duda, que es o que significa EOT ?? y como iria el codigo del banner? con etiquetas html? con la construccion ECHO o PRINT de PHP?
Saludos
Martin
Rafa
15 años ago
Gracias! es justo lo que estaba buscando, un código sencillo para mostrar unos banners sin recargar mucho la página.
Funciona de maravilla, hasta yo lo entiendo XD
Un saludo.
Quiero rotar codigo php en mi plantilla de Wordpress
15 años ago
[…] en resumen como alternar codigo html en una parte de mi theme He encontrado esto en el blog de Script php para rotar banners | Kabytes pero me esta dando problemas y no soy capaz de hacer que rote las tablas. Muchas gracias […]
adan
15 años ago
pues soy nuevo en esto de php y me gustaria aprender mas pero pues no del diario estan aqui voya hacer una pagina y quisiera ver si sus codigos me podrian ayudar alo que veo si
saludos
Ether
15 años ago
Hola,
He probado este rotador de banner pero no me funciona con adsense de google
<?php
$numerodebanners = 3; // Numero de banners
$random = rand(1,$numerodebanners);
$Publicidades = array();
$Publicidades[1] = <<<EOT
echo ("
«)
EOT;
$Publicidades[2] = <<<EOT
EOT;
$Publicidades[3] = <<<EOT
EOT;
echo $Publicidades[$random];
?>
Agradecería vuestra ayuda
deknisone
15 años ago
Ether no te funciona por que despues de <<<eot
no se pone mas que el puro codigo de a publicidad de adsense sin comillas ni parentesis
$Publicidades[1] = <<<EOT
TU CODIGO DE ADSENSE
EOT;
$Publicidades[2] = <<<EOT
OTRO CODIGO DE PUBLICIDAD
EOT;
$Publicidades[3] = <<
Ether
15 años ago
Okis,
Ya funciona, ¡¡GENIAL!!
muchas gracias deknisone
rotar anuncios adsense
14 años ago
[…] […]
Jhonatan
14 años ago
Exelente Script!!!
henry
14 años ago
gracias por el codigo
tusherramientasonline
14 años ago
Exelente Script!!!
Sussy
13 años ago
Probado y funciona perfectamente. Muchas gracias!!!!!
Inversiones forex
12 años ago
Hola gracias, el codigo funciona de maravilla, lo he probado en plataforma wordpress.
saludos cordiales
Daniel
12 años ago
Hola Pablo me funciono de maravilla, muy rapido di con tu post y me ahorraste mucho tiempo muchas gracias 😉