<!-- SQL-->
CREATE TABLE IF NOT EXISTS `visita` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`visitas` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;
/////////////////////////////////////////////////////
<?php
//Busca na tabela o numero de vezes que a página ja foi visitada
$busca ="Select * FROM visita WHERE id = {$getId}";
$exe = mysql_query($busca);
$resultado =(mysql_fetch_array($exe));//Pega o numero de visistas que consta na tabela, adiciona mais um e atualiza
$visitantes = $resultado['visitas']+1;
$altera ="UPDATE visita SET visitas = '{$visitantes}' WHERE id = '{$getId}'";
$exe1 = mysql_query($altera);//Faz uma nova busca e retorna o numero de visitas depois da atualização
$exe = mysql_query($busca);
$total =(mysql_fetch_array($exe));
$visitas = $total['visitas'];}?><!-- ESTOU CHAMANDO OS NUMERO DE VISITA ASSIM ATÉ AQUI ELE
TRAZ A QUANTIDADE DE VISITAS PARA CADA PAGINAS--><?php echo
"Total de Visitas: $visitas"?>
Se alguém poderem me ajudar resolver ai como poder fazer o que eu quero ou alterar alguma coisa fico grato
Alguém poderia me ajudar a fazer ou dar ideia para esse código(abaixo) salve as informações de visitas em paginas indiniduais ou seja, na ID de cada pagina, ele funciona mais na tabela dele, ele só gera uma ID e eu queria q ele gerasse para cada post e cada um com seu valor de visitas.
Código:
// Configurações do Script
// ==============================
$_CV['registraAuto'] = true; // Registra as visitas automaticamente?
$_CV['conectaMySQL'] = true; // Abre uma conexão com o servidor MySQL?
$_CV['iniciaSessao'] = true; // Inicia a sessão com um session_start()?
$_CV['servidor'] = 'localhost'; // Servidor MySQL
$_CV['usuario'] = 'root'; // Usuário MySQL
$_CV['senha'] = ''; // Senha MySQL
$_CV['banco'] = 'teste'; // Banco de dados MySQL
$_CV['tabela'] = 'tb_postagens'; // Nome da tabela onde os dados são salvos
// ==============================
// ======================================
// ~ Não edite a partir deste ponto ~
// ======================================
// Verifica se precisa fazer a conexão com o MySQL
if ($_CV['conectaMySQL'] == true) {
$_CV['link'] = mysql_connect($_CV['servidor'], $_CV['usuario'], $_CV['senha']) or die("MySQL: Não foi possível conectar-se ao servidor [".$_CV['servidor']."].");
mysql_select_db($_CV['banco'], $_CV['link']) or die("MySQL: Não foi possível conectar-se ao banco de dados [".$_CV['banco']."].");
}
// Verifica se precisa iniciar a sessão
if ($_CV['iniciaSessao'] == true) {
session_start();
}
/**
* Registra uma visita e/ou pageview para o visitante
*/
function registraVisita() {
global $_CV;
$sql = "SELECT COUNT(*) FROM `".$_CV['tabela']."` WHERE `data` = CURDATE()";
$query = mysql_query($sql);
$resultado = mysql_fetch_row($query);
// Verifica se é uma visita (do visitante)
$nova = (!isset($_SESSION['ContadorVisitas'])) ? true : false;
// Verifica se já existe registro para o dia
if ($resultado[0] == 0) {
$sql = "INSERT INTO `".$_CV['tabela']."` VALUES (NULL, CURDATE(), 1, 1)";
} else {
if ($nova == true) {
$sql = "UPDATE `".$_CV['tabela']."` SET `uniques` = (`uniques` + 1), `pageviews` = (`pageviews` + 1) WHERE `data` = CURDATE()";
} else {
$sql = "UPDATE `".$_CV['tabela']."` SET `pageviews` = (`pageviews` + 1) WHERE `data` = CURDATE()";
}
}
// Registra a visita
mysql_query($sql);
// Cria uma variavel na sessão
$_SESSION['ContadorVisitas'] = md5(time());
}
/**
* Função que retorna o total de visitas
*
* @param string $tipo - O tipo de visitas a se pegar: (uniques|pageviews)
* @param string $periodo - O período das visitas: (hoje|mes|ano)
*
* @return int - Total de visitas do tipo no período
*/
function pegaVisitas($tipo = 'uniques', $periodo = 'hoje') {
global $_CV;
switch($tipo) {
default:
case 'uniques':
$campo = 'uniques';
break;
case 'pageviews':
$campo = 'pageviews';
break;
}
switch($periodo) {
default:
case 'hoje':
$busca = "`data` = CURDATE()";
break;
case 'mes':
$busca = "`data` BETWEEN DATE_FORMAT(CURDATE(), '%Y-%m-01') AND LAST_DAY(CURDATE())";
break;
case 'ano':
$busca = "`data` BETWEEN DATE_FORMAT(CURDATE(), '%Y-01-01') AND DATE_FORMAT(CURDATE(), '%Y-12-31')";
break;
}
// Faz a consulta no MySQL em função dos argumentos
$sql = "SELECT SUM(`".$campo."`) FROM `".$_CV['tabela']."` WHERE ".$busca;
$query = mysql_query($sql);
$resultado = mysql_fetch_row($query);
// Retorna o valor encontrado ou zero
return (!empty($resultado)) ? (int)$resultado[0] : 0;
}
if ($_CV['registraAuto'] == true) { registraVisita(); }
Obs: procurei em todo canto e esse código foi o mais próximo do que eu quero que achei, e nao foi criado por mim, apenas tentei modificar para a tal função que necessito, mais não tive exito! :/
Ola pessoal
alguém poderia me ajudar pois quero por um contador de visitas em minha pagina de listagem só que quero que o contador faz a contagem
por click
ou seja se a pessoa for atualizar a pagina o contador já não contar novamente, para que ele faz a
contagem novamente a pessoa tem que voltar e clicar no link que direciona para a pagina
acho que estão entendendo o que quero dizer
por ex:
meudoninio.com/listagem.php?id=1
Total de visitas: 1200
meudoninio.com/listagem.php?id=2
Total de visitas: 500
meudoninio.com/listagem.php?id=3
Total de visitas: 120
pois fiz assim só que se atualizar a pagina varias vezes ele faz a contagem
Quero que ele apenas faz a contagem se a pessoa visitar a pagina ou seja por click
ela fazer a contagem só se a pessoa clicar novamente para ir para a pagina onde esta a listagem
o link para direcionar a pagina esta assim
Ex:
<a><href="https://meudominio.com/listagem.php?id=<?php echo "$id" ;?>" target="_blank"></a>
Se alguém poderem me ajudar resolver ai como poder fazer o que eu quero ou alterar alguma coisa fico grato
Compartilhar este post
Link para o post
Compartilhar em outros sites