Pular para o conteúdo

Criando um sistema de banners rotativos em PHP

Neste artigo mostro como criar um sistema onde são cadastrados banners numa tabela do MySQL e exibidos de forma aleatória em seu web site, com controle de visualização e quantidade de cliques.
Fábio Berbert de Paula fabio
Hits: 66.188 Categoria: PHP Subcategoria: Avançado
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Introdução

Quando resolvi lançar uma versão mais robusta do Viva o Linux, umas das primeiras coisas em que pensei foi num sistema de banners rotativos. Uma vez lançado o site, acreditava que em pouco tempo já teriam se firmado algumas parcerias para troca ou venda de banners e para não me limitar a apenas um banner fixo nas páginas, um esquema de rotatividade seria necessário.

Sendo assim, segui a seguinte lógica de raciocínio: se tenho dois banners e um acabou de ser exibido, a próxima pageview do site deve mostrar o segundo banner. Eventualmente o parceiro/cliente pode querer estatísticas, então tenho que saber quantas vezes o banner foi exibido e quantas vezes foi clicado.

Ao analisar o estudo de caso decidi que o melhor esquema para a solução seria a utilização de programas PHP armazenando dados sobre o banner em tabelas do MySQL. Nas próximas páginas vamos descobrir como o sistema funciona na prática.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Introdução
   2. Criando a tabela banner no MySQL
   3. Cadastrando um banner no sistema
   4. Exibindo o banner e contabilizando os pageviews
   5. Contabilizando o número de cliques e redirecionando para a URL

IA Turbina o Desktop Linux enquanto distros renovam forças

ATUALIZADO 19/01: Tragédia em Nova Friburgo/RJ

Capturando tela do Android usando shell script

Como fazer publicações pelo Instagram Web

Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux

PHP >= 5.1 x horário de verão brasileiro

Inteligência Artificial com PHP e MySQL (parte I)

Prado - Orientação a componentes em PHP

PHP 5 - Compilando com as melhores práticas com PHP 4

Trabalhando com datas em PHP

#1 Comentário enviado por terciof em 30/01/2003 - 14:03h
No código:

/*
Estou partindo do princípio que você possui uma variável $con que é um
link identificador com sua conexão com o banco de dados, retornada pela
função mysql_connect(). */

// recebe codigo do banner

$query = "SELECT clicks, url FROM banner WHERE codigo=$codigo";
list ($clicks, $url) = mysql_fetch_array(mysql_query($query,$con));

$clicks++;
$update = "UPDATE banner SET clicks=$clicks WHERE codigo=$codigo";
mysql_query($update,$con);

header("Location: $url"); // redirecionar p/ url

Pode ser alterado para:

/*
Estou partindo do princípio que você possui uma variável $con que é um
link identificador com sua conexão com o banco de dados, retornada pela
função mysql_connect(). */

// recebe codigo do banner

$query = "SELECT url FROM banner WHERE codigo=$codigo";
mysql_query($query,$con);
$url = MySQL_Result($query,0,"url"); //<-- Pega a URL do banner

$update = "UPDATE banner SET clicks=clicks+1 WHERE codigo=$codigo"; //<-- No próprio SQL ele já atualiza +1 nos cliques.
mysql_query($update,$con);

header("Location: $url"); // redirecionar p/ url

Do modo acima você irá otimizar os recursos do sistema! O ganho de performance é mínimo, porém, vale a dica clicks=clicks+1! Se o seu site tiver milhões de hits será uma boa....

[]'s Tercio
#2 Comentário enviado por rafaeltjb2004 em 13/11/2004 - 20:06h
artigo otimo me serviu mto :P
#3 Comentário enviado por alisonfelipe em 26/03/2008 - 23:21h
amigão teu sistema é otimo, mais eu preciso de umas alteracoezinhas
tu consegue me ajudar?

queria que fosse banners mais aleatorios
e que aceitasse banners em flash tambem....
#4 Comentário enviado por comfaa em 28/10/2008 - 12:59h
muito legal !!!

Contribuir com comentário

Entre na sua conta para comentar.