Adicionem o novo domínio do blog aos seus favoritos! www.crashcomputer.com.br

Postagens com a tag ‘Contador de páginas’

   domingo, 20 de outubro de 2013

Contador de visualisações de página ULTRA SIMPLES!



1 Star2 Stars3 Stars4 Stars5 Stars (Nenhum voto, seja o primeiro!)
Loading...

Uma coisa que eu procurei a rodo e não achava nada super simples como eu precisava, era um contador de visualizações de páginas (pageview).

Todos que achava coletavam informações demais que não me interessavam, eu queria que somente registrasse o numero de acessos a nada mais. Porque isso? Bom… eu já usava um contador de visualizações próprio, que realizava o armazenamento em um arquivo texto, porem isso funciona bem desde que não haja muito tráfego, com tráfego excessivo, é muito comum perder, o conteúdo do arquivo texto e zerar o contador.

Então, a melhor coisa é delegar isso ao MySQL e deixar que ele se vire com a fila de acessos.

Como não achei nada pronto que me servia, qual a solução? Arregaçar as mangas e fazer um por conta própria. :D

Segue o código abaixo.

<php
  // Conexão com o Banco de Dados
  mysql_connect("host", "user", "pass") or die ('Não foi possível conectar: '.mysql_error())

  // Seleciona o Banco de Dados
  mysql_select_db("pageview_counter") or die ('A consulta falhou: '.mysql_error());

  // Verifica se a tabela não existe, e cria uma.
  $sql = "create table if not exists counter (
    pageview int(11) not null,
    primary key (pageview)
  )";

  mysql_query($sql) or die ('Erro ao criar tabela: '.mysql_error());

  $strSQL = "select * from counter";

  $rs = mysql_query($strSQL) or die ('Erro ao selecionar tabela: '.mysql_error());

  // Se a tabela está vazia, cria o contador.
  if (mysql_num_rows($rs) == 0 ) {
    $strSQL = "insert into counter(";
    $strSQL = $strSQL . "pageview) ";

    $strSQL = $strSQL . "values(";
    $strSQL = $strSQL . "'1') ";

    mysql_query($strSQL) or die ('Erro ao criar tabela: '.mysql_error());
  }

  // Atualiza o contador no banco de dados.
  $strSQL = "update counter set pageview = pageview + 1";

  mysql_query($strSQL) or die ('Erro ao gravar tabela: '.mysql_error());

  // Pega o valor corrente do contador.
  $count = mysql_fetch_array($rs);
  $count = str_pad($count["pageview"], 5, "0", str_pad_left);
  // Nesta linha abaixo é feita a exibição do contador, formate ao seu gosto.
  echo "<span class=\"counter\">PageView: ".$count."</span>";

  mysql_close ();
?>

Para utilizar é simples. Você deve criar um usuário, senha e um banco de dados no seu painel de controles.

Na linha 3, coloque os dados de acesso ao banco de dados.

Na linha 6, é o nome do banco de dados. Você pode utilizar um banco de dados já existente, pois somente será criada uma tabela com o nome de “counter”. Neste caso altere o nome “pageview_counter”.

O restante o script já faz sozinho.

Se quiser alterar a quantidade de zeros que o script coloca automaticamente a esquerda do contador, altere o valor “5” na linha 38. Do jeito que está será exibido um número de 5 dígitos.

Na linha 40 é exibido o valor da contagem. Existe também uma classe “counter” que você pode utilizar para formatar o texto do contador via CSS ao seu gosto. :-P

Para usar é hyper-simples. Salve o código com um nome qualquer (sugestão: counter.php).

Insira em sua página usando a função include do PHP:

<!--?php include 'counter.php'; ?-->

E… voilá!

O código é meio macarrônico, mas funciona, faz o básico necessário e que eu precisava e não achei, feito de uma forma tão simples.

Daria pra fazer de uma forma mais elegante? Certamente que sim! Mas como eu ainda sou aprendiz de MySQL, tá valendo. :sarcastic:



  Melhor visualizado a
1024 x 768 True color
Proudly powered by WordPress. Theme developed with WordPress Theme Generator.
E altamente gambiarrado por mim mesmo :)
Copyright © 2010 by Crash Computer. All rights reserved.