Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dexter Morgan

[Resolvido] 3 Banners Rand PHP

Recommended Posts

Bom dia, seguinte tenho essa tabela SQL de Banners 300x250

 

--
-- Estrutura da Tabela Banner300x250
--

CREATE TABLE banner300x250(
id_banner300x250 int(11) NOT NULL auto_increment,
titulo varchar(100) NOT NULL,
click int(11) NOT NULL,
foto varchar(255) NOT NULL default '',
site varchar(100) NOT NULL,
data date NOT NULL,
publicado char(1) default '',
PRIMARY KEY (id_banner300x250),
UNIQUE KEY id (id_banner300x250)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

-- --------------------------------------------------------

 

funciona tudo ok e tals, só que eu preciso listar ela 3 vezez no site, para ter mais espaço de venda, só que nao quero que repita os banners eu fiz dessa forma:

 

 

<script type="text/javascript">var $novo = jQuery.noConflict();</script>
<script type="text/javascript">
function Up300x250(){
var $novoactive300x250up = $novo('#slide300x250up IMG.active300x250up');
if($novoactive300x250up.length == 0)$novoactive300x250up = $novo('#slide300x250up IMG:last');
var $novonext = $novoactive300x250up.next().length ? $novoactive300x250up.next()
:$novo('#slide300x250up IMG:first');
$novoactive300x250up.addClass('last-active300x250up');
$novonext.css({opacity: 0.0})
.addClass('active300x250up')
.animate({opacity: 1.0}, 1000, function(){
$novoactive300x250up.removeClass('active300x250up last-active300x250up');
});
}
$novo(function(){
setInterval("Up300x250()", 5000);
});
</script>

<div id="slide300x250up">

<?php

include "connection.php";

$sql = "SELECT * FROM banner300x250 WHERE publicado = 'S' ORDER BY rand() LIMIT 5";
$resultado = mysql_query($sql) or die (mysql_error());
if(mysql_num_rows($resultado) < 1){
echo "<img style=\"cursor:pointer\" src=\"home/img/resize.php?img=banner300x250.jpg&x=300&y=250\" onclick=\"location.assign('http://www.viroubalada.com.br/advertise.php')\" border=\"0\" title=\"Anuncie\" alt=\"Anuncie\" />";
}
else{
while($linha = mysql_fetch_array($resultado)){
$id_banner300x250 = $linha["id_banner300x250"];
$titulo = $linha["titulo"];
$click = $linha["click"];
$foto = $linha["foto"];
$site = $linha["site"];
$data = $linha["data"];
if($foto){
if($site){
echo "<img style=\"cursor:pointer\" src=\"administracao/banners/resize.php?img=$foto&x=300&y=250\" onclick=\"window.open('click_banner300x250.php?id_banner300x250=$id_banner300x250&site=http://www.$site')\" border=\"0\" title=\"$titulo\" alt=\"$titulo\" />";
}
else{
$server = $_SERVER["SERVER_NAME"];
$endereco = $_SERVER["REQUEST_URI"];
echo "<img style=\"cursor:pointer\" src=\"administracao/banners/resize.php?img=$foto&x=300&y=250\" onclick=\"location.assign('click_banner300x250.php?id_banner300x250=$id_banner300x250&site=http://$server$endereco')\" border=\"0\" title=\"$titulo\" alt=\"$titulo\" />";
}
}
else{
echo "<img style=\"cursor:pointer\" src=\"home/img/resize.php?img=banner300x250.jpg&x=300&y=250\" onclick=\"location.assign('http://www.viroubalada.com.br/advertise.php')\" border=\"0\" title=\"Anuncie\" alt=\"Anuncie\" />";
}
}
}

?>

</div>

 

 

<script type="text/javascript">var $novo = jQuery.noConflict();</script>
<script type="text/javascript">
function Middle300x250(){
var $novoactive300x250middle = $novo('#slide300x250middle IMG.active300x250middle');
if($novoactive300x250middle.length == 0)$novoactive300x250middle = $novo('#slide300x250middle IMG:last');
var $novonext = $novoactive300x250middle.next().length ? $novoactive300x250middle.next()
:$novo('#slide300x250middle IMG:first');
$novoactive300x250middle.addClass('last-active300x250middle');
$novonext.css({opacity: 0.0})
.addClass('active300x250middle')
.animate({opacity: 1.0}, 1000, function(){
$novoactive300x250middle.removeClass('active300x250middle last-active300x250middle');
});
}
$novo(function(){
setInterval("Middle300x250()", 5000);
});
</script>

<div id="slide300x250middle">

<?php

include "connection.php";

$sql = "SELECT * FROM banner300x250 WHERE publicado = 'S' ORDER BY rand() LIMIT 5";
$resultado = mysql_query($sql) or die (mysql_error());
if(mysql_num_rows($resultado) < 1){
echo "<img style=\"cursor:pointer\" src=\"home/img/resize.php?img=banner300x250.jpg&x=300&y=250\" onclick=\"location.assign('http://www.viroubalada.com.br/advertise.php')\" border=\"0\" title=\"Anuncie\" alt=\"Anuncie\" />";
}
else{
while($linha = mysql_fetch_array($resultado)){
$id_banner300x250 = $linha["id_banner300x250"];
$titulo = $linha["titulo"];
$click = $linha["click"];
$foto = $linha["foto"];
$site = $linha["site"];
$data = $linha["data"];
if($foto){
if($site){
echo "<img style=\"cursor:pointer\" src=\"administracao/banners/resize.php?img=$foto&x=300&y=250\" onclick=\"window.open('click_banner300x250.php?id_banner300x250=$id_banner300x250&site=http://www.$site')\" border=\"0\" title=\"$titulo\" alt=\"$titulo\" />";
}
else{
$server = $_SERVER["SERVER_NAME"];
$endereco = $_SERVER["REQUEST_URI"];
echo "<img style=\"cursor:pointer\" src=\"administracao/banners/resize.php?img=$foto&x=300&y=250\" onclick=\"location.assign('click_banner300x250.php?id_banner300x250=$id_banner300x250&site=http://$server$endereco')\" border=\"0\" title=\"$titulo\" alt=\"$titulo\" />";
}
}
else{
echo "<img style=\"cursor:pointer\" src=\"home/img/resize.php?img=banner300x250.jpg&x=300&y=250\" onclick=\"location.assign('http://www.viroubalada.com.br/advertise.php')\" border=\"0\" title=\"Anuncie\" alt=\"Anuncie\" />";
}
}
}

?>

</div>

 

 

<script type="text/javascript">var $novo = jQuery.noConflict();</script>
<script type="text/javascript">
function Down300x250(){
var $novoactive300x250down = $novo('#slide300x250down IMG.active300x250down');
if($novoactive300x250down.length == 0)$novoactive300x250down = $novo('#slide300x250down IMG:last');
var $novonext = $novoactive300x250down.next().length ? $novoactive300x250down.next()
:$novo('#slide300x250down IMG:first');
$novoactive300x250down.addClass('last-active300x250down');
$novonext.css({opacity: 0.0})
.addClass('active300x250down')
.animate({opacity: 1.0}, 1000, function(){
$novoactive300x250down.removeClass('active300x250down last-active300x250down');
});
}
$novo(function(){
setInterval("Down300x250()", 5000);
});
</script>

<div id="slide300x250down">

<?php

include "connection.php";

$sql = "SELECT * FROM banner300x250 WHERE publicado = 'S' ORDER BY rand() LIMIT 5";
$resultado = mysql_query($sql) or die (mysql_error());
if(mysql_num_rows($resultado) < 1){
echo "<img style=\"cursor:pointer\" src=\"home/img/resize.php?img=banner300x250.jpg&x=300&y=250\" onclick=\"location.assign('http://www.viroubalada.com.br/advertise.php')\" border=\"0\" title=\"Anuncie\" alt=\"Anuncie\" />";
}
else{
while($linha = mysql_fetch_array($resultado)){
$id_banner300x250 = $linha["id_banner300x250"];
$titulo = $linha["titulo"];
$click = $linha["click"];
$foto = $linha["foto"];
$site = $linha["site"];
$data = $linha["data"];
if($foto){
if($site){
echo "<img style=\"cursor:pointer\" src=\"administracao/banners/resize.php?img=$foto&x=300&y=250\" onclick=\"window.open('click_banner300x250.php?id_banner300x250=$id_banner300x250&site=http://www.$site')\" border=\"0\" title=\"$titulo\" alt=\"$titulo\" />";
}
else{
$server = $_SERVER["SERVER_NAME"];
$endereco = $_SERVER["REQUEST_URI"];
echo "<img style=\"cursor:pointer\" src=\"administracao/banners/resize.php?img=$foto&x=300&y=250\" onclick=\"location.assign('click_banner300x250.php?id_banner300x250=$id_banner300x250&site=http://$server$endereco')\" border=\"0\" title=\"$titulo\" alt=\"$titulo\" />";
}
}
else{
echo "<img style=\"cursor:pointer\" src=\"home/img/resize.php?img=banner300x250.jpg&x=300&y=250\" onclick=\"location.assign('http://www.viroubalada.com.br/advertise.php')\" border=\"0\" title=\"Anuncie\" alt=\"Anuncie\" />";
}
}
}

?>

</div>

 

eles exibem na lateral direita agora como eu faria para que nao repetissem os banners, se aparecer o banner de id 1 no ultimo no primeiro ele nao apareça... teria como? obs: sem ter que definir um ID na WHERE (porque o ID pode mudar de acordo com a inserção no banco)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce poderia tentar asicionar na sua SQL, para pegar os banner com ID dirente do que voce ja listou, mais ou menos isso:

 


//depoiis de inserir o primeiro banner .....

$sql = "SELECT * FROM banner300x250 WHERE publicado = 'S' AND id_banner300x250<>ID_do_banner_inserido_antes ORDER BY rand() LIMIT 5";

 

Ai para cada espaco de banner adiciona o "AND id_banner300x250<>ID_do_banner_inserido_antes", assim o sql vai puxar os dados onde o ID é diferente de (<>)

 

 

 

 

flws

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz da seguinte forma, e desculpe a demora, eu criei outra tabela chamada pocisão, ai defini um WHERE ID POSICAO padrão para cada script que exibe (os 3 no caso), dessa forma só altero a posição do banner pela administração vlw :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.