Nícolas 4 Denunciar post Postado Junho 27, 2005 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
Illidan 0 Denunciar post Postado Junho 27, 2005 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
jbhelp 0 Denunciar post Postado Junho 27, 2005 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
Nícolas 4 Denunciar post Postado Junho 27, 2005 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