Jump to content


Photo

O Que Está Faltando Neste Contador?


  • Faça o login para participar
6 replies to this topic

#1 Kiedis

Kiedis

    Turista

  • Usuários
  • 26 posts
  • Sexo:Não informado

Posted 12/01/2008, 19:41

Olá,
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 Marcos Aurélio

Marcos Aurélio

    Das terras geladas da Sibéria

  • Usuários
  • 208 posts
  • Sexo:Masculino

Posted 12/01/2008, 20:50

É impressão minha ou vc colocou o nome da tabela errada? :huh: 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! ;)

Edição feita por: Marcos Aurélio, 12/01/2008, 20:56.


#3 Kiedis

Kiedis

    Turista

  • Usuários
  • 26 posts
  • Sexo:Não informado

Posted 13/01/2008, 00:51

É impressão minha ou vc colocou o nome da tabela errada? :huh: 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 § Kenshin §

§ Kenshin §

    I'm coming back...!

  • Usuários
  • 574 posts
  • Sexo:Masculino
  • Localidade:BA
  • Interesses:Sou fã de linguagens direcionadas para a web, como php, (x)html, xml, wml.
    Também gosto de webdesign e ultimamente tenho me dedicado mais a aprender css, mysql, javascript, ajax e actionscript.
    Trabalho com os programas Dreamweaver, Illustrator e Flash.

Posted 13/01/2008, 01:33

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 ^_^
Web Developer / Web Designer / Information Architect
"Living to learn... learning to live!"
Useful links: Rules | Search

#5 Kiedis

Kiedis

    Turista

  • Usuários
  • 26 posts
  • Sexo:Não informado

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!

#6 Marcos Aurélio

Marcos Aurélio

    Das terras geladas da Sibéria

  • Usuários
  • 208 posts
  • Sexo:Masculino

Posted 13/01/2008, 21:42

Substitua essa linha:

$pagina['basename'];


Por esta:

$pagina = $pagina['basename'];


Abraços!

#7 Kiedis

Kiedis

    Turista

  • Usuários
  • 26 posts
  • Sexo:Não informado

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)

IPB Skin By Virteq