Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal!
Eu fiz um sistema de estatísticas para um site, mas estou com problema de lógica acho! hehehe
Eu fiz um gráfico para acompanhar os acessos durante o mês, então pego os dados do BD e gero uma tabela com os dias do mês, no entanto, a altura da imagem está pegando o percentual do dia em relação ao total de dias, e quanto maior o dia, menor ficam as barras, a ponto de ficar praticamente invisível. Gostaria de resolver isso, e não tenho idéia de como fazer. Abaixo tem dois exemplos, de um mês incompleto e de um mês completo, como vocês observam nas imagens, à medida que vai aumentando o número de dias na tabela, vai diminuindo o tamanho das imagens, justamente por distribuir mais as visitas na variação percentual.
Mês incompleto:
Mês completo:
Aí vai o código da bagaça pra vocês tentarem entender melhor!
<table width="100%" border="0" cellspacing="1" cellpadding="0"> <tr> <?php $totalmes = mysql_query("SELECT SUM(visitas) as total FROM riemke_contador WHERE data LIKE '%$ano-$mes%'") or die(mysql_error());$ltotalmes = mysql_fetch_array($totalmes);$totalvisitasdias = $ltotalmes['total'];$totalhitsmes = mysql_query("SELECT SUM(hits) as total FROM riemke_contador_hits WHERE data LIKE '%$ano-$mes%'") or die(mysql_error());$ltotalmeshits = mysql_fetch_array($totalhitsmes);$totalhitsdias = $ltotalmeshits['total'];$diasdomes = array('01','02','03','04','05','06','07','08','09','10','11','12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31');if( ($mes == "01") || ($mes == "03") || ($mes == "05") || ($mes == "07") || ($mes == "08") || ($mes == "10") || ($mes == "12") ) { $diasnomes = 30; } else { $diasnomes = 29; }for ($j = 0; $j <= $diasnomes; $j++) { $diario = $ano."-".$mes."-".$diasdomes[$j]; $dias = mysql_query("SELECT SUM(visitas) as total FROM riemke_contador WHERE data LIKE '%$diario%'") or die(mysql_error());$lvisdias = mysql_fetch_array($dias); $hitsd = mysql_query("SELECT SUM(hits) as total FROM riemke_contador_hits WHERE data LIKE '%$diario%'") or die(mysql_error());$lhitsdias = mysql_fetch_array($hitsd);$percentuald = "";$percentualhits = "";@$somad = ($lvisdias['total'] / $totalvisitasdias) * 100;$alturad = number_format($somad,0,",",".");if($somad > 0) { $percentuald = number_format($somad,0,",",".") * 2; }@$somahits = ($lhitsdias['total'] / $totalhitsdias) * 100;$alturahits = number_format($somahits,0,",",".");if($somahits > 0) { $percentualhits = number_format($somahits,0,",",".") * 2; }$fundovis = "bgestats1.gif";$fundohit = "bgestats2.gif";if($alturad == 0) { $cord = ""; } else { $cord = "src=\"../imagens/$fundod\""; }echo "<td height=\"200\" valign=\"bottom\" bgcolor=\"#F0F0F0\"><div align=\"center\"><img src=\"../imagens/$fundovis\" height=\"$percentuald\" width=\"5\" /><img src=\"../imagens/$fundohit\" height=\"$percentualhits\" width=\"5\" /></div><table align=\"center\" width=\"50%\"></table></td>";}?> <tr> <td colspan="12"> </td> </tr> <tr> <?php $omes = array('', 'Jan','Fev','Mar','Abr','Mai','Jun','Jul','Ago','Set','Out','Nov','Dez'); for ($k = 0; $k <= $diasnomes; $k++) { echo "<td><div align=\"center\" class=\"estats\">$diasdomes[$k]<br>$omes[$mes]</div></td>"; } ?> </tr></table>Carregando comentários...