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.

[ Hits: 59.012 ]

Por: Fábio Berbert de Paula em 28/11/2002 | Blog: https://youtube.com/c/cotidianohackeado


Exibindo o banner e contabilizando os pageviews



Agora que já alimentamos nosso banco de dados com os banners, vamos adicionar código PHP para buscar os dados e exibi-los no browser do usuário.

Neste exemplo vamos criar uma página index.php com apenas o banner como conteúdo. Quando você for usar este código, pode adicionar o resto do conteúdo da página misturado com o código a seguir naturalmente.

<? /*
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(). */

// capturar banner

$query = "SELECT codigo, foto, alt, hits FROM banner
   WHERE ativo='1'
   ORDER BY hits LIMIT 1";
list ($banner_codigo, $banner_foto, $banner_alt, $banner_hits) = mysql_fetch_array(mysql_query($query,$con));
$banner_hits++;

// atualizar hits do banner
$update = "UPDATE banner SET hits=$banner_hits WHERE codigo=$banner_codigo";
mysql_query($update,$con);

echo "<a href='verBanner.php?codigo=$banner_codigo' alt='$banner_alt'><img src='./imagens/banners/$banner_foto' border=0></a>";

?>

Notaram o detalhe do código acima ? O link para o banner aponta para um segundo script, o verBanner.php, que será o responsável pela contabilização do número de cliques no banner e em seguida pelo redirecionamento para a página em questão. Lembre-se que a variável hits corresponde ao número de pageviews do banner e não ao número de vezes que ele foi clicado.

Página anterior     Próxima página

Páginas do artigo
   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
Outros artigos deste autor

Implementando um tradutor de línguas no seu web site

Como camuflar seu WhatsApp Web usando Snippets JavaScript

Mais uma política "suja" de marketing da Microsoft

Clicador automático de Tinder com Python

SQL Dicas & Truques (versão 0.1)

Leitura recomendada

Referências ou ponteiros em PHP

BolachaMALPPH Apache X Lighttpd X PHP/FastCGI X APC X HTTPREF X MySQL

Abordagem exemplificada de orientação à objeto com PHP 5

PEAR - Utilizando classes prontas e documentadas no PHP

Google Chart: Criando gráficos dinâmicos em minutos

  
Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts