Ir para conteúdo
Fórum Script Brasil
  • 0

Sistema De Banner Php


sergiocs

Pergunta

Olá, caros colegas, estamos desenvolvendo um sistema de cadastramento de banners para ser inserido num forum do site que estamos fazendo, só que está ocorrendo bugs e não sabemos onde, estarei postando o código completo para que alguém possa me ajudar a solucionar este problema.

CÓDIGO:

<?

include "banner/config.php";

$sql = mysql_query("SELECT * FROM publicidade");

$sql2 = mysql_query("SELECT * FROM publicidade ORDER BY id DESC LIMIT 1");

while ($linha=mysql_fetch_array($sql2)) {

$id_u = $linha["id"];

function al() {

$num = rand(1,$id_u);

}

al();

while ($valores = mysql_fetch_array($sql)) {

$id = $valores["id"];

$url = $valores["url"];

$tipo = $valores["tipo"];

$link = $valores["link"];

if ($num != $id) {

al();

}

else {

if ($tipo == "flash") {

echo "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0' width='468' height='60'><param name=movie value='".$url."'><param name=quality value=high><embed src='".$url."' quality=high pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash' width='300' height='50'></embed></object>";

}

else {

echo "<a href='".$link."' target='_blank'><img src='".$url."' width='468' height='60' border='0'></a>";

}

}

}

}

?>

Por favor, se puderem ajudar-mecom a máxima urgência agradeço imensamente, indicando onde está o(s) erro(s) neste código.

Obrigado!

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Prezado colega Luciano, o problema que ocorre é o seguinte:

Se você insere 10 banners, deleta o numero 4, quando a função rand pegar o numero 4, nada aparecerá! Até ai, eu sei arrumar, é só usar while....

O problema que vai ficar 9 banners, certo? Se eu inserir o 11 banner, a id dele será 11, mas os banners ficarão em 10.. a função rand nunca vai pegar o 11, entendeu?

A solução seria ele pegar a ultima id.....

assim ele vai pegar 1,2,3,4,5,6,7,8,9,10,11 , ai.. se aparecer o 4 (que no teste que fiz eu deletei), dá o while... mas ai reconhece o 11.., entendeu? Eu tenho que saber a função que mostra a ultima id do sistema!

A função que queremos fazer é parecido com o deste fórum, que tem um banner no TOP, só que está ocorrendo uns bugs e não sabemos onde localizar, ou se está faltando alguma coisa no código ou tem alguma coisa errada no mesmo!

Se puder nos ajudar lhe agradeço.

Link para o comentário
Compartilhar em outros sites

  • 0

porque que ele só pega até o 10º banner?se você tá usando Desc Limit 1 era pra ele pegar o último registro da tabela, independente da qtde e de ter excluido...

você tb pode tentar escolher um registro aleatório direto no comando Sql...

$sql = mysql_query("SELECT * FROM publicidade ORDER BY RAND() LIMIT 1");

tenta ai, qualquer coisa posta de novo....

Link para o comentário
Compartilhar em outros sites

  • 0

De acordo como você fez ei adaptei um pouco, mais você terá bugs, como por exemplo caso você deletar algum banner do sistema ele ficará sem exibir, mais veja o código:

<?

include "banner/config.php";

$sql = mysql_query("SELECT * FROM publicidade");

$total_de_banner = mysql_num_rows($sql);

$num = rand(1,$total_de_banner);

$sql = mysql_query("SELECT * FROM publicidade WHERE id LIKE '$num'");

while ($valores = mysql_fetch_array($sql)) {

$id = $valores["id"];

$url = $valores["url"];

$tipo = $valores["tipo"];

$link = $valores["link"];

}

if ($tipo == "flash") {

echo "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0' width='468' height='60'><param name=movie value='".$url."'><param name=quality value=high><embed src='".$url."' quality=high pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash' width='300' height='50'></embed></object>";

}

else {

echo "<a href='".$link."' target='_blank'><img src='".$url."' width='468' height='60' border='0'></a>";

}

?>

Mais tente usar o código que o Luciano falou.

Link para o comentário
Compartilhar em outros sites

  • 0

Prezados amigos, agradeço pela atenção, mas vocês não teriam o script tipo usado aqui no fórum que insere um banner no TOP do site?

O script continua ocorrendo bugs se puderem me ajudar indicando um no mesmo padrão ou refazendo o mesmo para mim, porque não tenho muita experiência em php, e o sistema até funciona, ele cadastra os banners só não envia para o fórum e ocorre o erro já mencionado, se puderem me ajudar refazendo o mesmo ou me indicando um outro que seja no mesmo padrão, porque este aceita gif, jpg e swf.

Aguardo novidades, e agradeço desde já!

Link para o comentário
Compartilhar em outros sites

  • 0

Hmmm...

Acho que você não deveria desistir do seu script e partir pra outro pronto ou pedir pra que alguém o conserte... :(

É resolvendo problemas como esse que a gente aprende as coisas direitinho. Acho que seria legal pra você ganhar experiência. :)

Tipo, vai em PHPbrasil na parte de script e vê se, olhando o script dos outros, você têm alguma idéia e encontra a solução! ^_^

$404error

Link para o comentário
Compartilhar em outros sites

  • 0
Hmmm...

Acho que você não deveria desistir do seu script e partir pra outro pronto ou pedir pra que alguém o conserte... :(

É resolvendo problemas como esse que a gente aprende as coisas direitinho. Acho que seria legal pra você ganhar experiência. :)

Tipo, vai em PHPbrasil na parte de script e vê se, olhando o script dos outros, você têm alguma idéia e encontra a solução! ^_^

$404error

Valeu amigo, realmente não irei desistir, afinal estamos mesmo sempre aprendendo não é mesmo? Irei visitar ó site que indicou para ver se consigo alguma solução ou idéia por lá.

Obrigado!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...