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.
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).
[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....