Gerando gráficos a partir do banco de dados – PHP + PostgreSQL
Pessoal, como eu havia prometido estou postando um exemplo de como gerar gráficos à partir do BD com PHP. Neste exemplo utilizaremos o PHP5 + PostgreSQL, usaremos também a classe de conexão já mostrada em outro post aqui (Classe conexão PHP + PostgreSQL).
O FusionCharts que iremos utilizar para gerar os gráficos também já foi abordado aqui de outra forma (veja o post do Fusioncharts).
Dê uma revisada nos 2 posts acima e volte aqui para não ficar perdido!
Bem, não vou abordar assuntos já discutidos em outros posts, então vamos direto ao assunto ok.
Neste exemplo estamos gerando um gráfico que mostra os usuários cadastrados por cidade.
Baixem o pacote .rar, peguem o arquivo .sql, criem a base e tabela no postgres e populem a tabela. No arquivo .sql já estão todos os dados necessários para popular a tabela bastando apenas mudar os dados para os dados desejados.
O arquivo index.php
<script language=”Javascript” src=”charts/FusionCharts.js”></script>
<?
#Incluindo a classe conexao
include ‘includes/conexao.class.php‘;
#Incluindo a classe do Fusion
include ‘includes/FusionCharts_Gen.php‘;
#Criando a conexao
$con = new Conexao(“localhost”,”postgres”,”postgres”,”contrib“);
#Abrindo a conexao
$con->open();
#Criando o obj fusion
$FC = new FusionCharts(“column3D“,”650“,”400“);
#Setando o diretorio que contem os arquivos .swf
$FC->setSwfPath(“charts/“);
# Setando os atributos para o grafico
$FC->setChartParams(“caption=Usuarios; xAxisName=Cidades; yAxisName=Usuarios; decimalPrecision=0;“);
#Selecionando/contando os usuarios por cidade
$queryCid = pg_query(“select * from cidades“);
while($row = pg_fetch_array($queryCid))
{
$idcidade = $row['idcidade'];
$nomecidade = $row['nomecidade'];
$numCidUsu = pg_num_rows(pg_query(“select * from usuarios where idcidade = $idcidade“));
#Adicionando os dados nas barras ( usuarios a cidade)
$FC->addChartData($numCidUsu,”name=$nomecidade“);
}
#Gera/renderiza o grafico
$FC->renderChart();
?>
Note que foi utilizada a classe do FusionCharts (não abordada em posts anteriores) para criar o objeto e criar o gráfico.
Para não complicar nada, estou disponibilizando os arquivos do exemplo (sql, php, fusion e js).
Não há muito o que eu comentar neste exemplo devido aos comentários do código e os demais posts sobre o assunto. Mas sintam-se à vontade para perguntar, terei o maior prazer em responde-los.
Obs: Alterem as informações (usuario, senha, base) da classe conexao.class.php (contida no diretório includes/ do pacote).
Links:
P.S Obrigado aqueles que comentaram e pediram esse post, sei como é, alguns só querem achar tudo pronto e pensam que o que satisfaz um cara que fica que nem loko de madrugada escrevendo artigos é a quantidade de downloads.
Abraços,
Rafael Clares
3 Comentários até o momento
Deixe um comentário
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Parabéns pelo blog. Posts de grande utilidade
Comentário por Elton Minetto Setembro 4, 2008 @ 8:09 pmOpa…achei o post
Valew Rafael!!!!!!!!
Comentário por Liz Fevereiro 3, 2009 @ 7:14 pmOlá adorei o post!
Comentário por beatriz Outubro 28, 2009 @ 5:50 pma ferramenta é bem interessante, estou procurando a tempos uma ferramenta de grafico para trabalhar com php que seja free.
Vi os exemplos em php, mas nao encontrei nenhum com legenda, vc sabe ajeitar a legenda do grafico de multi-séries para que ela fique do lado direito do grafico?
muito obrigada
beatriz