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.005 ]

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


Cadastrando um banner no sistema



O processo de cadastramento de banner no sistema exige dois passos.
  • Cópia da imagem do banner para o diretório de imagens
  • Inserção do registro do banner no MySQL

Cópia da imagem do banner para o diretório de imagens


Supondo que o diretório que escolhi para ser meu repositório de banners chama-se ./imagens/banners/ e meu primeiro banner possui uma imagem chamada banner01.gif, basta copiar a imagem sugerida para o diretório escolhido.

Inserção do registro do banner no MySQL


Uma vez que sabemos o nome da imagem do banner, podemos inserir um registro usando a seguinte cláusula SQL:

INSERT INTO banner (url, foto, alt, ativo) VALUES ('http://www.agatetepe.com.br', 'banner01.gif', 'O seu site de tutoriais', '1')

A linha acima vai cadastrar um banner para o site www.agatetepe.com.br, divulgado pela imagem banner01.gif, com o texto "O seu site de tutoriais" e ativo (1). O número de hits e de clicks são inicializados por padrão com o valor 0 (zero).
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

Criando gráficos com a classe JPGraph (parte 1)

Desbloquear a tela do Android pelo PC (PIN)

FISL 10: Venturas e desventuras da turma do VOL

Tasker - Como fazer um ANDROID falante

EAuthenticator - Clone do Google Authenticator para Linux

Leitura recomendada

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

Guia completo do Ocomon no Linux - Módulo cliente, abertura de ocorrência (exclusivo VOL)

Instalando Lamp Stack no Servidor Debian

Utilizando PHP e Apache para desligar um Ubuntu

Compactador de URL utilizando manipulação de diretórios do Linux com PHP

  
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