Ir para conteúdo
Fórum Script Brasil
  • 0

Sistema de Estatísticas


agitonoticias

Pergunta

Boa tarde,

Estou desenvolvendo um sistema de estatísticas em PHP

e gostaria de saber qual seria o melhor jeito de fazer isso

estou fazendo da seguinte forma:

crieio 2 tabela "v_unicos" e "v_geral"

v_unicos -> pegaria os acessos uma unica vez por sessão;

v_geral -> pegaria os acessos por páginas e sessão, uma única vez por página;

O meu problema é o seguinte, principalmente na tabela "v_geral" em 2 dias esta com mais de

5 mil registros gravados na tabela, que esta pesando 1mb, isso com o passar do tempo tipo

1mes ou 1 ano minha tabela ficaria com um peso enorme.

conclusão: Sera que é assim o melhor jeito de fazer um sistema de estatísticas? não tem problema de a tabela ficar tão pesada com o passar do tempo?

Eu poderia muito bem usar o "Analytics" mas do jeito que eu fiz tenho as vantagens de:

*Saber quantas pessoas visitaram determinada página em determinado período;

*Filtragem do jeito que eu imaginar já que os registros estão todos na tabela com IP sessão entre outros

*E a melhor de todas é que ficaria dentro do meu próprio sistema de adinistação;

Teria como eu fazer tudo isso de um jeito que não pesasse o banco de dados e ter o mesmo retorno?

Como será que o wstats do cpanel ou analytics faz? porém nenhum dos dos pelo que eu saiba tem todas as páginas

acessadas para que eu posteriormente possa fazer uma pesquisa por data.

Agradeço desde já pela atenção eu quem puder me ajudar eu ficarei muito feliz.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
você pode criar uma tabela paralela para cada uma delas

exemplo

v1 recebe os dados

v1b será apenas um numero que será incrementado a todo acesso

assim não precisaria efetuar a busca pelos numeros na tabela de dados

Agradeço sua atenção Rickayron,

Acredito que essa seria uma solução para a tabela de visitantes unicos,

o que mais me deixa com dúvidas é quanto a peso que ira ficar a tabela

de paginas acessadas pois cada acesso é um registro segue o script, criei uma função:

function CStats(){

if(!isset($_SESSION)){

session_start();

}

$sessao = session_id();

$url = $_SERVER['REQUEST_URI'];

$data = date("Y-m-d");

$hora = date("H:i:s");

$ip = $_SERVER['REMOTE_ADDR'];

$browser = $_SERVER['HTTP_USER_AGENT'];

require_once("config.php");

require_once("classes/banco.class.php");

$vUnicos = new BANCO;

$vUnicos->set('sql', 'SELECT * FROM v_unicos WHERE sessao="'.$sessao.'" ORDER BY id DESC');

$vUnicos->conectar();

$vUnicos->selecionarDB();

$RsvUnicos = $vUnicos->query();

$TotalvUnicos = mysql_num_rows($RsvUnicos);

if($TotalvUnicos<1){

/*Enviar visitantes unicos por sessão*/

$EnviaVUnicos = new BANCO;

$EnviaVUnicos->set('sql', 'INSERT INTO v_unicos (data, hora, sessao, ip, url, titulo, browser)

VALUES ("'.$data.'", "'.$hora.'","'.$sessao.'", "'.$ip.'", "'.$url.'", "'.$titulo.'", "'.$browser.'")');

$EnviaVUnicos->conectar();

$EnviaVUnicos->selecionarDB();

$QueryEnviaVUnicos = $EnviaVUnicos->query();

/*Enviar visitantes unicos por sessão*/

}

$vGeral = new BANCO;

$vGeral->set('sql', 'SELECT * FROM v_geral WHERE sessao="'.$sessao.'" AND url="'.$url.'" ORDER BY id DESC');

$vGeral->conectar();

$vGeral->selecionarDB();

$RsvGeral = $vGeral->query();

$TotalvGeral = mysql_num_rows($RsvGeral);

if($TotalvGeral<1){

/*Enviar visitantes geral*/

$EnviaVGeral = new BANCO;

$EnviaVGeral->set('sql', 'INSERT INTO v_geral (data, hora, sessao, ip, url, titulo, browser)

VALUES ("'.$data.'", "'.$hora.'","'.$sessao.'", "'.$ip.'", "'.$url.'", "'.$titulo.'", "'.$browser.'")');

$EnviaVGeral->conectar();

$EnviaVGeral->selecionarDB();

$QueryEnviaVGeral = $EnviaVGeral->query();

/*Enviar visitantes geral*/

}

}/*CStats*/

=============================

Se eu criar uma tabela que incremente os valores, acredito que não terá como eu comparar se existe a sessão

a tabela de v_geral minha em 3 dias esta com 2 megas, acredito que estou fazendo algo de errado

ou para ter os resultados que eu preciso tem que ser assim mesmo?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...