tiago.iju 0 Denunciar post Postado Setembro 13, 2003 Tô fazendo um script de banner, usando PHP. Bom, esse é o script que exibe o banner na página: <?php include("config/config.php"); $query = "SELECT * FROM banner WHERE ativo = 0 ORDER by codigo ASC LIMIT 1"; //0=ativo, 1=inativo $consulta = mysql_query($query, $id); $linha = mysql_fetch_row($consulta); $linha[3] += 1; // linha[3] refere-se ao numero de vezes que o banner foi exibido $update2 = "UPDATE banner SET exibicoes=$linha[3] WHERE codigo='$linha[0]'"; mysql_query($update2, $id); mysql_close($id); echo "<a href='banner_contaclick.php?id=$linha[0]' target='_blank'><img src='$linha[2]' width='400' height='90' border='0'></a>"; ?> Até aí tudo bem! Mas o erro se dá ao clicar, quando o usuário é redirecionado ao script "banner_contaclick.php". Este é o script que conta os clicks: <?php include("config/config.php"); $query = "SELECT * FROM banner WHERE codigo=$id LIMIT 1"; $consulta = mysql_query($query, $id); $linha = mysql_fetch_row($consulta); $linha[4] += 1; // adiciona 1 click $update = "UPDATE banner SET clicks=$linha[4] WHERE codigo='$linha[0]'"; mysql_query($update, $id); mysql_close($id); // redireciona para página alvo do banner header("Location: $linha[1]"); ?> Problemas: Dá a seguinte mensagem: Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\easyphp\www\meusite\banner_contaclick.php on line 6 Warning: Cannot add header information - headers already sent by (output started at c:\easyphp\www\meusite\banner_contaclick.php:6) in c:\easyphp\www\meusite\banner_contaclick.php on line 17 Alguém sabe resolver isso ae??? Compartilhar este post Link para o post Compartilhar em outros sites
ZehOliveira 0 Denunciar post Postado Setembro 13, 2003 Aparentemente o erro tá na construção da query. Tenta mysql_query($sql) or die(mysql_error()) e diz qual erro foi mostrado. Compartilhar este post Link para o post Compartilhar em outros sites
tiago.iju 0 Denunciar post Postado Setembro 13, 2003 Bom, fiz assim: <?php include("config/config.php"); $query = "SELECT * FROM banner WHERE codigo=$id LIMIT 1"; $consulta = mysql_query($query) or die(mysql_error()); $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, $id); mysql_close($id); // redireciona para página alvo do banner header("Location: $linha[1]"); ?> E deu o seguinte erro: You have an error in your SQL syntax near 'id #1 LIMIT 1' at line 1 Compartilhar este post Link para o post Compartilhar em outros sites
ZehOliveira 0 Denunciar post Postado Setembro 13, 2003 Qual é o tipo do campo código? int? varchar? Compartilhar este post Link para o post Compartilhar em outros sites
tiago.iju 0 Denunciar post Postado Setembro 14, 2003 Campo código é Int Compartilhar este post Link para o post Compartilhar em outros sites
giselly 0 Denunciar post Postado Setembro 14, 2003 parece q não tá passando a id..uma hora você pôs:codigo=$linha[0]' na outraid=$linha[0]'o campo da tabela é id? ou código? Compartilhar este post Link para o post Compartilhar em outros sites
tiago.iju 0 Denunciar post Postado Setembro 14, 2003 Giselly, seguinte, não troquei os campos! Só assim, no primeiro script ao clicar no banner ele envia pro segundo script com um id para que esse segundo script reconheça qual linha deve ser modificada. Entende?Será que não é pq a var de conexão é id e a que é enviada ao clicar no banner tb??? Compartilhar este post Link para o post Compartilhar em outros sites
tiago.iju 0 Denunciar post Postado Setembro 14, 2003 Bah, deu certo! Gisa, vlw, se me fez enchergar o erro... Vou cuidar pra não repetir variáveis!!!Hehehe... vivendo e errando, e assim, aprendendo...Vlw Compartilhar este post Link para o post Compartilhar em outros sites