Ir para conteúdo

Arquivado

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

HugoMinari

[Resolvido] Pageview + contador de visitas

Recommended Posts

Bom dia Pessoal.

 

A situação é a seguinte, eu tenho uma página onde existem diversos "produtos"... quando o usuario clica em um deles mostra as informações, fotos e etc.

eu quero implementar um contador de visitas que mostre a quantidade total de visitas e visitas que recebeu só hoje.

 

a visitas totais eu fiz assim:

setcookie("total", $visitasTotal, time()+86400);
$cookie = "visualizada";
if(isset($_COOKIE[$cookie])){}
else{$atualiza = mysql_query("UPDATE produtos SET visualizada=$visitasTotal + 1 WHERE id=$id") or die (mysql_error());}

 

agora as visitas diarias eu nao sei como fazer... se alguem tiver uma luz, fico muito agradecido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa cara, beleza, você vai ter que usar um timer, que reseta o contador após 24 h. Você pode se basear na hora de seu servidor.

 

Puxar o tempo, Se for 24 horas, Voltar o contador a 0.

 

Abraço, espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá HugoMinari,

a minha sugestão é você criar uma tabela para o contador. A tabela será incrementada a cada acesso com: data do click, ip, iddoproduto, de qual página o usuário veio. Dessa forma fica melhor para estatística.

 

Boa sorte...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa cara, beleza, você vai ter que usar um timer, que reseta o contador após 24 h. Você pode se basear na hora de seu servidor.

 

Puxar o tempo, Se for 24 horas, Voltar o contador a 0.

 

Abraço, espero ter ajudado.

 

mas ai se eu resetar o contador vou perder a quantidade de visistas totais e só terei a visitas hoje...

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz assim:

 

Criei o banco

CREATE TABLE `top_deluxo_bsb`.`visitashoje` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
`data` VARCHAR( 25 ) NOT NULL DEFAULT '00-00-0000',
`ip` VARCHAR( 25 ) NOT NULL ,
`produto` VARCHAR( 25 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = InnoDB;

 

Adiciono os valores no banco

$cookie = "visualizada";
setcookie($cookie, $visitasTotal, time()+86400); // validade de 1 dia
if(isset($_COOKIE[$cookie])){} //o cockie existe então não pode atualizar
else {
  $atualiza = mysql_query("UPDATE produtos SET visualizada=$visitasTotal + 1 WHERE id=$id") or die (mysql_error());

  $atualiza2 = mysql_query("INSERT INTO visitashoje (id ,data ,ip ,produto) VALUES ('', '$datahj', '$ipuser', '$idproduto')") or die(mysql_error());
}

 

E por fim a consulta

$idproduto	= $_REQUEST['produto'];
$datahj = date("d/m/Y");

$sql_hoje ="select * from visitashoje where produto=$idproduto and data=$datahj";
$result_hoje = mysql_query($sql_hoje);
$total_hoje  = mysql_num_rows($result_hoje);

echo "<div class='visitahj'><b>Hoje: </b>$total_hoje</div>";

 

Obs: ele adiciona a informação no banco corretamente, mas não está me retornando o numero de linhas que atendem as regras da consulta.?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui...

 

Pra quem quiser o

 

$datahj = date("d/m/Y");
$ipuser = $_SERVER['REMOTE_ADDR'];

// cria o cookie para dizer que ja contou a visita geral
$cookie = "visualizada";
setcookie($cookie, $visitasTotal, time()+86400); //86400 = 1 dia / horas *  60 * 60
if(isset($_COOKIE[$cookie])){}//o cockie existe então não pode atualizar
else {$atualiza = mysql_query("UPDATE produtos SET visualizada=$visitasTotal + 1 WHERE id=$id") or die (mysql_error());
}

//consulto no banco para saber quantas linhas (visitas com a data de hoje) existem.
$sqlhoje = "select * from visitashoje where produto='$produto' and data='$datahj'";
$result_hoje = mysql_query($sqlhoje);

//numero de registros que atendem as regras acima
$totalcm = mysql_num_rows($result_hoje);

echo "<div class='visitahj'><b>Hoje: </b>$totalcm</div>";

//crio o cocckie e insiro + uma visita hoje
$cookie2 = "visualizada";
setcookie($cookie2, $totalcm, time()+86400); // validade de 1 dia
if(isset($_COOKIE[$cookie2])){} //o cockie existe então não pode atualizar
else {$criar = mysql_query("INSERT INTO visitashoje (id , modelo ,data ,ip) VALUES ('', '$ensaio', '$datahj', '$ipuser')") or die(mysql_error());}

 

RESOLVIDO!!

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.