Um sistema simples de banner rotativo em PHP/MySQL
Aprenda a rotacionar seu banner, usando JavaScript, PHP e MySQL. Esse artigo é o ponto de partida para um sistema de banner rotativo nas dimensões 468x60 (no formato GIF ou PNG).
Publicado em: 17 de março de 2008 | Leituras: 16.303 |
Canal: PHP |
Autor: Igor Diniz
Bem pessoal como meu tempo está meio apertado, não esta sobrando tempo para fazer artigos, mas tenho vários quase prontos ^^. Então enquanto não termino nenhum artigo irei colocar um artigo que pode ser bastante útil a todos! Do Rodrigo Romano Moreira (www.phpbrasil.com) .
Aprenda a rotacionar seu banner, usando JavaScript, PHP e MySQL. Esse artigo é o ponto de partida para um sistema de banner rotativo nas dimensões 468x60 (no formato GIF ou PNG).
Vote aqui!
Média de Votos Atual: 7.12
Total de Votos: 17
Nota:
Ultimamente tenho notado em listas de discussão ou em fóruns sobre PHP, pessoas em busca de sistemas de banner rotativo. Esse artigo disponibiliza o código de um simples sistema de banner rotativo em MySQL. Ele é pequeno e fácil de entender.
Para começar crie uma tabela no MySQL com a seguinte estrutura :
Depois crie um arquivo com as suas configurações no MySQl , chamado config.php :
Para inserir seus banner (a url da página alvo, a url da figura e o numero máximo de exibições), crie um arquivo insere.php com o seguinte conteúdo:
Para exibir os seus banners, você primeiro deve criar um arquivo chamado exibe.php com o seguinte conteúdo:
Após ter criado o arquivo exibe.php , crie uma javascript na página onde seus banners vão ser exibidos ,com a seguinte estrutura:
Um pequeno exemplo: Vamos dizer que o exibe.php tem esse caminho em sua página, www.romano.com.br/exibe.php (infelizmente, não existe essa página). Para inserir o javascript no html é só fazer isso:
Para registrar os clicks em seus banners e redirecionar para a página alvo, crie um arquivo chamado conta_click.php com seguinte conteúdo:
Para encerrar vamos criar um script para administrar seus banners com nome de admin.php. Lá você obterá as seguintes informações: Código do banner, estatísticas de exibições, se o banner está ativo (maxexib maior que 0), data de criação e a opção de remover(ou criar) banners. O código do admin.php é o seguinte:
Rodrigo Romano Moreira
Até a próxima!
Aprenda a rotacionar seu banner, usando JavaScript, PHP e MySQL. Esse artigo é o ponto de partida para um sistema de banner rotativo nas dimensões 468x60 (no formato GIF ou PNG).
Vote aqui!
Média de Votos Atual: 7.12
Total de Votos: 17
Nota:
Ultimamente tenho notado em listas de discussão ou em fóruns sobre PHP, pessoas em busca de sistemas de banner rotativo. Esse artigo disponibiliza o código de um simples sistema de banner rotativo em MySQL. Ele é pequeno e fácil de entender.
Para começar crie uma tabela no MySQL com a seguinte estrutura :
CREATE TABLE banner (
codigo int(11) NOT NULL auto_increment,
url char(255),
grafico char(255),
exibicoes int(11),
clicks int(11),
maxexib int(11),
data datetime,
PRIMARY KEY (codigo)
);Depois crie um arquivo com as suas configurações no MySQl , chamado config.php :
<?php
$host = "localhost"; // host do MySQL
$user = "root"; // id do usuario do MySQL
$pass = ""; // senha do usuario no MySQL
$database = "banner"; // database do usuario no MySQl
?>Para inserir seus banner (a url da página alvo, a url da figura e o numero máximo de exibições), crie um arquivo insere.php com o seguinte conteúdo:
<?php
include("config.php");
if (isset($submit)) {
$data = date("y:m:d h:i:s");
$conn = mysql_connect($host, $user, $pass);
mysql_select_db($database);
$insere = "INSERT INTO banner (url, grafico, exibicoes, clicks, maxexib, data)
VALUES ('$link', '$imagem', 0, 0, '$max', '$data')";
mysql_query($insere, $conn);
mysql_close($conn);
?>
<input type="submit" value="Fechar" name="submit" onClick='javascript: self.close();'>
<?php
} else {
?>
<form method="POST" action="insere.php">
<table align="center" border="1" bordercolor="#000000" cellspacing="0" cellpadding="0">
<tr>
<td>
<table border="0">
<tr>
<td colspan="2" bgcolor="#219CDE">
<p align="center">Adicionar novo banner</td>
</tr>
<tr>
<td>Link(Url):</td>
<td width="50%"><input type="text" name="link" size="40"></td>
</tr>
<tr>
<td>Imagem(Url):</td>
<td width="50%"><input type="text" name="imagem" size="40"></td>
</tr>
<tr>
<td>Número de exibições:</td>
<td width="50%"><input type="text" name="max" size="40"></td>
</tr>
<tr>
<td colspan="2">
<p align="center"><input type="submit"
value="Enviar" name="submit"></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
<?php
}
?>Para exibir os seus banners, você primeiro deve criar um arquivo chamado exibe.php com o seguinte conteúdo:
<?php
include("config.php");
$conn = mysql_connect($host, $user, $pass);
mysql_select_db($database);
// a clasula ORDER by RAND() é responsável pela rotação do banner.
// note que maxexib é igual a zero, ele não é exibido
$query = "SELECT * FROM banner WHERE maxexib > 0 ORDER by RAND() LIMIT 1";
$consulta = mysql_query($query, $conn);
$linha = mysql_fetch_row($consulta);
$linha[5] -= 1;
$linha[3] += 1;
// subtrai menos 1 ao campo maxexib
$update = "UPDATE banner SET maxexib=$linha[5] WHERE codigo='$linha[0]'";
mysql_query($update, $conn);
// adiciona mais 1 ao campo exibicoes
$update2 = "UPDATE banner SET exibicoes=$linha[3] WHERE codigo='$linha[0]'";
mysql_query($update2, $conn);
mysql_close($conn);
// imprime o banner ,que vai ser usado no javascript
echo "document.write("<a href=/banner/conta_click.php?id=$linha[0] target=_blank><img border=0 src=$linha[2] width=468 height=60></a> ");";
?>Após ter criado o arquivo exibe.php , crie uma javascript na página onde seus banners vão ser exibidos ,com a seguinte estrutura:
<SCRIPT LANGUAGE="JavaScript" SRC="http://www.suapagina.com/exibe.php"></SCRIPT>Um pequeno exemplo: Vamos dizer que o exibe.php tem esse caminho em sua página, www.romano.com.br/exibe.php (infelizmente, não existe essa página). Para inserir o javascript no html é só fazer isso:
<html>
<head>
<title>Teste do banner</title>
</head>
<body>
<p>Esse é seu banner </p>
<SCRIPT LANGUAGE="JavaScript" SRC="http://www.romano.com.br/exibe.php"></SCRIPT>
</body>
</html>Para registrar os clicks em seus banners e redirecionar para a página alvo, crie um arquivo chamado conta_click.php com seguinte conteúdo:
<?php
include("config.php");
$conn = mysql_connect($host, $user, $pass);
mysql_select_db($database);
$query = "SELECT * FROM banner WHERE codigo=$id LIMIT 1";
$consulta = mysql_query($query, $conn);
$linha = mysql_fetch_row($consulta);
$linha[4] += 1;
// adiciona mais 1 ao campo clicks
$update = "UPDATE banner SET clicks=$linha[4] WHERE codigo='$linha[0]'";
mysql_query($update, $conn);
mysql_close($conn);
// redireciona para página alvo do banner
header("Location: $linha[1]");
?>Para encerrar vamos criar um script para administrar seus banners com nome de admin.php. Lá você obterá as seguintes informações: Código do banner, estatísticas de exibições, se o banner está ativo (maxexib maior que 0), data de criação e a opção de remover(ou criar) banners. O código do admin.php é o seguinte:
<input type="submit" value="Inserir novo Banner" name="submit" onClick='javascript: window.open("insere.php","","width=450,heigth=100,toolbar=no");'>
<?php
include("config.php");
$conn = mysql_connect($host, $user, $pass);
mysql_select_db($database);
if (isset($submit)) {
$delete = "DELETE FROM banner WHERE codigo = $id";
mysql_query($delete, $conn);
}
$query = "SELECT * FROM banner ORDER by codigo ASC";
$consulta = mysql_query($query, $conn);
while ($linha = mysql_fetch_row($consulta)) {
?>
<p> </p>
<table border="1" bordercolor="#000000" cellspacing="0" cellpadding="0">
<tr>
<td width="100%">
<p align="left">Código : <?php echo $linha[0]; ?>
<p>Link : <a href="<?php echo $linha[1]; ?>"><?php echo $linha[1]; ?> </a></p>
<p>Imagem :<img border="0" src="<?php echo $linha[2]; ?>" width="468" height="60"></p>
<p>Exibições :<?php echo $linha[3]; ?></p>
<p>Clicks :<?php echo $linha[4]; ?> </p>
<p>Porcentagem(Clicks por exibições) :
<?php echo round(($linha[4]/$linha[3])*100,2); ?>%</p>
Data de criação :<?php echo $linha[6]; ?>
<p>Status :<?php if ($linha[5] != 0) { ?>Ativo<?php } else { ?>Inativo<?php } ?></p>
<form method="POST" action="admin.php?id=<?php echo $linha[0]; ?>">
<center>
<input type="submit" value="Remover" name="submit">
</center>
</form>
</td>
</tr>
</table>
<?php
}
mysql_close($conn);
?>Rodrigo Romano Moreira
Até a próxima!
Resposta em até 24 horas! (grátis)Dúvidas?
Últimas perguntas:
| Código fonte não reconhecido! | Por: Rafael Alves |
Autor da matéria
Últimas matérias escritas pelo autor:
|
Igor Diniz Desenvolvedor web, design, programação, marketing, dentre outros ;) |
Últimas matérias escritas pelo autor:
12/09 - Fazendo um sistema de login php/mysql ...
10/09 - Fazendo um sistema de login php/mysql ...
08/09 - Definindo web 2.0
20/08 - Amadorismo de sites impede crescimento...
15/08 - Um pouco sobre Hotsites
27/06 - Por quê alguém compra algo?
29/05 - Função copy()
01/05 - Registro COM.BR para pessoas físicas d...
24/04 - Porque ter um site é bom?
17/03 - Um sistema simples de banner rotativo ...
24/02 - Fazendo o logout
09/02 - Verificação para formulário de contato
12/01 - Lorem ipsum dolor sit amet ?
07/01 - Lista de 'tags' comuns - Parte 3(final...
10/09 - Fazendo um sistema de login php/mysql ...
08/09 - Definindo web 2.0
20/08 - Amadorismo de sites impede crescimento...
15/08 - Um pouco sobre Hotsites
27/06 - Por quê alguém compra algo?
29/05 - Função copy()
01/05 - Registro COM.BR para pessoas físicas d...
24/04 - Porque ter um site é bom?
17/03 - Um sistema simples de banner rotativo ...
24/02 - Fazendo o logout
09/02 - Verificação para formulário de contato
12/01 - Lorem ipsum dolor sit amet ?
07/01 - Lista de 'tags' comuns - Parte 3(final...
Matérias relacionadas
Últimas matérias
Últimas notícias
Dicas do canal
- PHP: Formulário de contato com validação
Muita das vezes um iniciante na área de web usa ja... - Dicas para otimizar seu código PHP
ou falar aqui sobre algumas pequenas dicas que voc...







Criando um Cliente para Twitter com PHP - Parte 1
O que você procura para sua vida profissional?
O planejamento agrega valor
E-mail marketing em 140 caracteres
Novos iPods, novo iOS, novo iTunes e nova Apple TV
Conheça as 100 primeiras cidades atendidas pelo Banda Larga ...
Linus Torvalds diz que mercado já se rendeu ao Linux