Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Pesquisei bastante sobre sistema de banner rotativo, mas não encontro um que me atenda em tudo que necessito.
Tenho 3 banners na mesma página, um abaixo do outro, onde 1 tem uma medida e os outros dois tem outra:
1 com 136×51 pixels
1 com 136×307 pixels
1 com 136×307 pixels
Gostaria que o banner menor, que só aparece 1 por página, alternasse entre uns 5 que vou ter na mesma medida.
Os outros 2 banners, que são um pouco maior, mas de tamanho igual entre eles (136×307 pixels), eu gostaria que não aparecessem dois repetidos, e sim alternando entre os que estão cadastrados no banco de dados.
Peguei um post com a dúvida parecida com a minha, mas que não foi resolvida, então vou dar quote no post da pessoa (Newerton).
>
Olá a todos,
To aprendendo PHP, e estou gostando muito, mas quando chega nos niveis avançado eu travo ali, vou pro google pesquiso, venho aqui no forum, e em outros forum e não acho a solução, mas eu sei que tem algum jeito de arrumar isso, vou postar os arquivos e no final do post, eu posto a minha duvida, espero ajuda de vocês, como sempre me ajudando!
tabela.sql
CREATE TABLE `banners` (
`id` int(4) NOT NULL auto_increment,
`nome` varchar(255) NOT NULL default '',
`imagem` varchar(255) NOT NULL default '',
`tipo` varchar(255) NOT NULL default '',
`url` varchar(255) NOT NULL default '',
`clicks` varchar(4) NOT NULL default '',
`views` varchar(4) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT AUTO_INCREMENT=1;
conexao.php
<?php
//dados do mysql
$host = "localhost";
$user = "root";
$pass = "root";
$base = "banners";$conexao = mysql_connect("$host", "$user", "$pass") or die ('A sua senha, ou usuario ou host mysql é invalido, veja o erro : ' . mysql_error());
mysql_select_db("$base") or die ('O banco de dados não existe!');
?>
ver_url.php
<?php
//conecta ao mysql
include "conexao.php";
//pega os dados da url
$id = $_GET["id"];
//seleciona tabela
$resultado = mysql_query ("SELECT * FROM banners WHERE id = $id");$id = $arr['id'];
$nome = $arr['nome'];
$imagem = $arr['imagem'];
$tipo = $arr['tipo'];
$url = $arr['url'];
$clicks = $arr['clicks'];
$views = $arr['views'];$click = $clicks + 1;
$sql = "UPDATE banners SET clicks = $click WHERE id = $id";
mysql_query($sql);header("Location: $url");
?>
banner.php
<?php
//conecta ao mysql
include "conexao.php";
//seleciona tabela no mysql
$resultado = mysql_query ("select * from banners WHERE tipo='fullbannerx468x60' order by rand() LIMIT 1;");
$total = mysql_num_rows($resultado);
// Pegando um número aleatório entre 1 e $total;
$numero = rand(1,$total);
// Selecionando o registro $numero
$q = "select * from banners WHERE tipo='fullbannerx468x60' order by ID ASC limit ".$numero.",1";
$query = mysql_query($q);
//query ao mysql
$arr = mysql_fetch_array($resultado);
//transforma tudo em váriaveis
$id = $arr['id'];
$nome = $arr['nome'];
$imagem = $arr['imagem'];
$tipo = $arr['tipo'];
$url = $arr['url'];
$clicks = $arr['clicks'];
$views = $arr['views'];
//vê se o banner existe
if($imagem=="")
{
echo "<div align = center>Banner não encontrado</div>";
}
else
{
//mostra o banner
echo "<br>";
echo "<a href = \"ver_url.php?id=$id\" title=\"Anunciante: $nome\" target=\"_blank\"><img src=\"up/banners/$tipo/$imagem\" width=468 height=60 border = \"0\"></a>";
//adiciona mais um view
$adiciona = $views + 1;
//atualiza e adiciona
$sql = "UPDATE banners SET views = '$adiciona' WHERE id = $id";
mysql_query($sql);
}?>
Esta funcionando perfeito, esse banner fica no topo e so mostra **"WHERE tipo='fullbannerx468x60'"**, ate ae tudo bem.
Fiz 3 half banner um embaixo do outro, ele mostra de boa os **"WHERE tipo='halfbannerx230x60'"**, só que sempre aparece banner repetido na mesma página por exemplo:
BANNER1
BANNER2
BANNER3
Após um reload aparece:
BANNER2
BANNER2
BANNER3
E assim sucessivamente.
Tem alguma forma deles não se repetirem na mesma página?
BANNER1
BANNER2
BANNER3
Reload:
BANNER2
BANNER1
BANNER3
E assim sucessivamente.
Agradeço a atenção de todos que puder me ajudar.
Não estou conseguindo resolver o problema.
Também não consigo fazer aparecer os banners da forma que preciso, 1 pequeno e 2 um pouco maior, um abaixo do outro.
Se alguem puder me ajudar eu agradeço.
Vlw.
Carregando comentários...