
O Que Está Faltando Neste Contador?
#1
Posted 12/01/2008, 19:41
Abaixo está o código de um contador, que vou colocar em cada página (cada página vai ter o seu)
mais o que está acontcendo é que não atualiza o valor no banco de dados.
Por favor se alguém souber o que tem de errado ai me da um toque!
tabela "visitas":
[codebox]CREATE TABLE `teste`.`visitas` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`pagina` VARCHAR( 50 ) NOT NULL ,
`visitas` INT NOT NULL
) ENGINE = MYISAM [/codebox]
pgi.php:
[codebox]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Contador</title>
</head>
<body>
<?
$host = "localhost"; //Endereço do host (padrão localhost)
$user = "root"; //Usuário do banco de dados MySQL
$pass = ""; //Senha do MySQL
$banco = "teste"; //Banco de dados do script
$conexao = mysql_connect("$host", "$user", "$pass")
or die ("Configuração de Banco de Dados Errada!");
$db = mysql_select_db("$banco")
or die ("Banco de Dados Inexistente!");
$seleciona = mysql_query("SELECT pagina, visitas FROM visitas");
while($reg = mysql_fetch_array($seleciona)){
$pagina = pathinfo('http://localhost/pgi.php');
$pagina['basename'];
$visitas = $reg['visitas'];
}
?>
<p>Esta letra foi vizualizada <? echo "$visitas"; ?></p>
<?
$soma = $visitas + 1;
mysql_query ("UPDATE visitass SET visitas='$soma' WHERE pagina='$pagina'") or exit(mysql_error());
?>
</body>
</html>[/codebox]
Vlw!
#2
Posted 12/01/2008, 20:50

mysql_query ("UPDATE visitas SET visitas=visitas+1 WHERE pagina='" . $pagina . "'") or die(mysql_error());
Abraços!

Edição feita por: Marcos Aurélio, 12/01/2008, 20:56.
#3
Posted 13/01/2008, 00:51
É impressão minha ou vc colocou o nome da tabela errada?
Não é "visitas" ao invés de "visitass"? Outra sugestão: troca metade do código por:
mysql_query ("UPDATE visitas SET visitas=visitas+1 WHERE pagina='" . $pagina . "'") or die(mysql_error());
Abraços!
Não não, tá certo sim, é pq aqui tem várias tabela ai coloquei assim pra difernciar!!
Troquei o código, e ainda não deu certo!
vlw! teh+!
#4
Posted 13/01/2008, 01:33
<? $soma = $visitas + 1; mysql_query ("UPDATE visitass SET visitas='$soma' WHERE pagina='$pagina'") or exit(mysql_error()); ?>por:
<?=$pagina; ?>vlw

"Living to learn... learning to live!"
Useful links: Rules | Search
#5
Posted 13/01/2008, 17:24
verifique se a variavel $pagina esta sendo passada para a query substituindo o seguinte codigo:
<? $soma = $visitas + 1; mysql_query ("UPDATE visitass SET visitas='$soma' WHERE pagina='$pagina'") or exit(mysql_error()); ?>por:<?=$pagina; ?>vlw
Apareceu na tela a palavra "Array"
o que quer dizer, tá passando certo o valor??
Vlw!
#7
Posted 13/01/2008, 23:18
Substitua essa linha:
$pagina['basename'];
Por esta:$pagina = $pagina['basename'];
Abraços!
Blz, deu certinho Marcos, mas agora surgiu outro problema,
por exemplo, quando atualizo a página pgi.php ele atualiza e imprime o
número de visitas certinho, mais quando atualizo a página pgi1.php, ele pega
o número de visitas da página php.php!
Dai o numero de visitas de todas as páginas fica tudo igual.
Vlw! abraços!
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)