Ir para conteúdo

Arquivado

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

Will Up

Contador de views

Recommended Posts

Um contador bem simples

 

<?php
$file = fopen ("/diretorio/contador.txt" , "r+" );
$contador = fread($file, filesize("/diretorio/contador.txt"));
fclose($file);
$contador +=1;
$file = fopen("/diretorio/contador.txt","w+");
fputs($file, $contador);
fclose($file);
?> 

 

:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, então é mais fácil ainda, crie numa tabela do BD um campo do tipo int e na página que quiser fazer a contagem, faça o seguinte UPDATE no BD:

 

"UPDATE tabela SET campo = (campo + 1)"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lol, fiz assim e não gravou:

 

$sql3 = "UPDATE `visitas` SET `pageviews` = (`pageviews` + 1), `usuario` = '".$_GET['usuario']."', `data` = '".$data."'";

Compartilhar este post


Link para o post
Compartilhar em outros sites

$contador = mysql_query("SELECT * FROM visitas WHERE pageviews");
while($exibe = mysql_fetch_array($contador)){
echo $exibe['pageviews'];
$sql3 = "UPDATE `visitas` SET `pageviews` = (".$exibe['pageviews']." + 1), `usuario` = '".$_GET['usuario']."', `data` = '".$data."'";
}

 

tenta algo semelhante. --n testei

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lol, fiz assim e não gravou:

e qual erro apareceu ?

 

você quer atualizar qual registro ? era melhor que tivesse um WHERE nessa query ne?!

 

leia:

http://forum.imasters.com.br/index.php?/topic/375800-orientacoes-para-uma-boa-participacao/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim tb não gravou (não aparece erros, simplesmente não grava:

 

$sql3 = "UPDATE `visitas` SET `pageviews` = (`pageviews` + 1), `data` = '".$data."' WHERE `usuario` = '".$_GET['usuario']."'";

Compartilhar este post


Link para o post
Compartilhar em outros sites

leia o link que postei.

 

habilite as mensagens de erro, e adicione um or die( mysql_error() ); no final da query para debug

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, é dificil agente te ajudar, se você não exibir os erros, e nos mostrar.

 

 

$sql3 = "UPDATE `visitas` SET `pageviews` = (`pageviews` + 1), `data` = '".$data."' WHERE `usuario` = '".$_GET['usuario']."'";
echo $sql;

diga oque retornar do echo

 

e após fazer os procedimentos do topico, diga que erro aparece(sempre faça isso)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não exibiu erro algum, como já havia dito. Agora, com o echo, exibiu o esperado:

 

UPDATE `visitas` SET `pageviews` = (`pageviews` + 1), `data` = '14/01/11' WHERE `usuario` = 'williancima'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aí está, Beraldo:

 

$sql3 = "UPDATE `visitas` SET `pageviews` = (`pageviews` + 1), `data` = '".$data."' WHERE `usuario` = '".$_GET['usuario']."'";
mysql_query($sql3) or die( mysql_error() );

Compartilhar este post


Link para o post
Compartilhar em outros sites

o campo `data` é um VARCHAR ou DATE no banco ?

 

se for date, você precisa converter a string de dd/mm/aa para aaaa-mm-dd

 

e não precisa desses parenteses ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá estranho... parece correto

vamos lá

 

$sql3 = "UPDATE visitas SET pageviews = pageviews + 1, data = '".$data."' WHERE `usuario` = '".$_GET['usuario']."'";
echo 'SQL a ser executada: ' . $sql3 . "<br />";
$exec = mysql_query($sql3) or die( 'ERRO: ' . mysql_error() );
var_dump( $exec );
car_dump( mysql_affected_rows );

 

é para mostrar a SQL final e depois fazer dump do retorno de mysql_query e de mysql_affected_rows, que diz quantos registros foram afetados pela query

 

poste a saída

Compartilhar este post


Link para o post
Compartilhar em outros sites

SQL a ser executada: UPDATE visitas SET pageviews = pageviews + 1, data = '14/01/11' WHERE `usuario` = 'williancima'

bool(true)

Fatal error: Call to undefined function car_dump() in /home/theimage/public_html/portf.php on line 25

Compartilhar este post


Link para o post
Compartilhar em outros sites

me diga:

o campo `data` é um VARCHAR ou DATE no banco ?

troque:

car_dump( mysql_affected_rows );

por:

var_dump( mysql_affected_rows() );

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.