Ir para conteúdo

POWERED BY:

Arquivado

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

Nícolas

Sistema de estatísticas

Recommended Posts

Ai to criando um sistema de estatisticas pro meu site, mas o problema é que não ta gravando nada no bd, alguem sabe oq pode ser??

 

Pois não aparece erro nenhum, nem colocano or die (mysql_error()); na frente das querys

 

Tabela estatisticas

CREATE TABLE `estatisticas` (  `id` int(7) NOT NULL default '0',  `dia` int(2) NOT NULL default '0',  `mes` varchar(20) NOT NULL default '',  `ano` int(4) NOT NULL default '0',  `totaldevisitas` int(20) NOT NULL default '0',  `visitasunicas` int(20) NOT NULL default '0',  `publicidade` int(20) NOT NULL default '0',  PRIMARY KEY  (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;

estatísticas.php

<?php//============================================================================//// Gera a data da estatistica$dia = date("d");function traduzData($mes) {$traducao = array("January" => "Janeiro", "February" => "Fevereiro", "March" => "Março", "April " => "Abril", "May" => "Maio", "June" => "Junho", "July" => "Julho", "August" => "Agosto", "September" => "Setembro", "October" => "Outubro", "November" => "Novembro", "December" => "Dezembro");return strtr($mes, $traducao);}$mes = traduzData(date("F"));$ano = date("Y");//============================================================================//// Faz a pesquisa pela data se ela ja foi criada$seleciona = mysql_query("SELECT * FROM estatisticas WHERE dia = '$dia' and mes = '$mes' and ano = '$ano'") or die (mysql_error());$linhas = mysql_num_rows($seleciona);//============================================================================//// Se não foi ela cria e consulta a tabela criadaif ($seleciona < 1){$grava = mysql_query("INSERT INTO estatisticas (dia,mes,ano) VALUES ('$dia','$mes','$ano')") or die (mysql_error());$seleciona = mysql_query("SELECT * FROM estatisticas WHERE dia = '$dia' and mes = '$mes' and ano = '$ano'") or die (mysql_error());}//============================================================================//// Adiciona a contagem$adiciona = mysql_fetch_row($seleciona);$adiciona[4] += 1;if (!$_COOKIE["ip"]){$ip = getenv("REMOTE_ADDR");setcookie ("ip", $ip, time()+3600*24);$adiciona[5] += 1;//============================================================================//// Atualiza os dados$atualiza = mysql_query("UPDATE estatisticas SET totaldevisitas = '$adiciona[4]' visitasunicas = '$adiciona[5]' WHERE dia = '$dia' and mes = '$mes' and ano = '$ano'") or die (mysql_error());}else{//============================================================================//// Atualiza os dados$atualiza = mysql_query("UPDATE estatisticas SET totaldevisitas = '$adiciona[4]' WHERE dia = '$dia' and mes = '$mes' and ano = '$ano'") or die (mysql_error());}?>
Eu to incluido este arquivo no template para ele fazer a contagem.

<?include "estatisticas.php";?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>
E ai alguem sabe oque pode ser???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo o que eu vi nos seus códigos, você não está executando a função mysql_connect() antes de chamar a mysql_query()... não esquece de chamar a mysql_select_db(), tb... ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

No seu teste abaixo você está testando a variavel $seleciona quando na verdade teria que testar a $linhas.

A $seleciona é um array e não te trará um inteiro para você poder avaliar se é menor que 1, pois você está usando mysql_fetch_array. Mas na $linhas você usa mysql_num-rows. Que quer dizer o numero de linhas afetadas pelo resultado da query.

não sei se fui claro.

 

Se não foi ela cria e consulta a tabela criada

if ($seleciona < 1){

$grava = mysql_query("INSERT INTO estatisticas (dia,mes,ano) VALUES ('$dia','$mes','$ano')") or die (mysql_error());

 

$seleciona = mysql_query("SELECT * FROM estatisticas WHERE dia = '$dia' and mes = '$mes' and ano = '$ano'") or die (mysql_error());

 

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Putz pode crer, confundi aqui.

 

jbhelp, vou testar, qualquer dúvida posto aqui.

 

 

---

 

ai Illidan

 

O mysql_connect ta incluido no index.php

 

e no index.php ta incluso o cima.php

 

index.php

<?php//===========================================================================//// INCLUDESinclude "config.php";$area = $_GET["area"];switch ($area){//===========================================================================//// INTRODUÇÃOdefault;include "cima.php"; // To incluido o estatisticas.php neste arquivoinclude "inicial.php";include "baixo.php";break;

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.