Ir para conteúdo

POWERED BY:

Arquivado

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

George Farias Sena

Grafico PHP MySQL

Recommended Posts

Prezados,

 

digitei um post inteiramente explicado porem não sei porque não consigo visualiza-lo http://forum.imasters.com.br/public/style_emoticons/default/cry.gif ... vou tentar resumir sem excluir nada pois acho que o outra deu problema...

 

lá vai... B)

 

Estou precisando colocar uma informação em um gráfico (BARRA OU LINHAS)

 

Segue abaixo meu código para acompanhamento:

 

Gostaria que a informação de $altas fosse mostrada em um gráfico de linha ou barra, no entanto ressalto que as informações são atualizadas diáriamente, ou seja, o grafico tambem deve ser atualizado, porem automaticamente

 

Obs: baixei o JPGRAPH, no entanto não sei como utilizar, se alguem tiver uma outra forma... agradeço

 

<?php

require "comum.php";

require "verifica.php";

?>

<p align="center"><span class="style1">INFORMAÇÃO DE NEGOCIAÇÃO</span><br>

<br>

</p>

<table width="263" border="1" align="center" bordercolor="#FFFFFF" bgcolor="#CCCCCC" class="style3">

<tr>

<td width="202"><div align="center">Dealer</div></td>

<td width="45"><div align="center">Altas</div></td>

</tr>

</table>

<?php

$sql = "SELECT dealer, altas, SUM(`altas`) AS `altas`,(select sum(altas) from relatorio_visitas) as total FROM relatorio_visitas Group BY `dealer` asc";

$query = mysql_query($sql);

 

while ($linha=mysql_fetch_array($query)) {

$altas = $linha["altas"];

$total_dinheiro= $altas*100/$linha["total"];

$dealer= $linha["dealer"];

?>

<table width="264" border="0" align="center" class="style2" bordercolor="#D4D0C8">

<tr>

<td width="207"><div align="left" class="style15"><?php echo $dealer; ?></div></td>

 

<!-- GOSTARIA DE COLOCAR A INFORMAÇÃO DE ALTAS ($altas) em um gráfico de linha ou barras--> <td width="47"><div align="center" class="style15"><?php echo $altas; ?></div></td>

</tr>

</table>

<?php

}

?>

<br>

 

Agradeço a colaboração de todos,

Abraço,

George Sena

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kra, vou te falar como eu fiz uma vez, não sei se é maneira mais fácil de fazer e muito menos se é a mais correta, mas sei que funcionou.Utilizei para as barras, imagens JPG.Fiz uma tabela com 100px de tamanho, dai pegava os resultados e fazia o cálculo de matemática lá, regra de 3 com o PHP pra saber quantos porcentos cada item teria do total.com isso, definia o tamanho das barras em JPG, ficando identico a um gráfico!Para repetir várias barras, utiliza o loop básico.Estou lhe dando apenas a idéia, tente aplicá-la!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fale amigos,não sei nem como começar pois nunca criei um gráfico. Ressalto que ja tenho os percentuais no campo $altas.Estou vendo que para gráfico será mais dificil, no entanto fico no aguardo de algum auxilio.... se possivel um codigo mostrando como poderia aplicar em meu exemplo um gráficoAbraços,George Sena

Compartilhar este post


Link para o post
Compartilhar em outros sites

então fera, leia as regras do forum antes de postar ...isso que esta fazendo é considerado flood...se ngm respondeu até o momento, é pq realmente ngm pode-lhe ajudar, e não por má vontade !!da próxima vez, esse post sera excluido

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz uma pequena adaptacao de um programa que encontrei na net para usar sua query.O original pode ser encontrado em:www.imasters.com.br/artigo/4639/php/jpgraph/Espero que ajude.<?php //Disponibiliza arquivos JPGRAPH include ("jpgraph.php"); include ("jpgraph_line.php"); $sql = "SELECT dealer, altas, SUM(`altas`) AS `altas`,(select sum(altas) from relatorio_visitas) as total FROM relatorio_visitas Group BY `dealer` asc"; $query = mysql_query($sql);// CRIANDO A MATRIZ DE PONTOS $matriz = array(); while ( $row = mysql_fetch_array($query) ){ array_push($matriz,$row["altas"]); }// CRIANDO O GRÁFICO$grafico = new Graph(400,400);// ESCALA AUTOMATICA $grafico->SetScale("textint");//-------------------CONSTRUINDO AS LINHAS GRÁFICO---------------------//// JOGA OS DADOS DA MATRIZ E PLOTA EM UM GRAFICO LINEAR$line = new LinePlot($matriz);// MOSTRA OS PONTOS (LINHAS)$line->value->Show();// MOSTRA COR DA LINHA$line->value->SetColor("blue");// SETA FONTE E ESTILO DA FONTE$line->value->SetFont(FF_FONT1,FS_BOLD);//----------------------------------------------------------------------------------//// ADCIONA AS LINHAS NO GRÁFICO$grafico->Add($line);//-----------------------PROPRIEDADES DA IMAGEM--------------------------//// DEFINE AS MARGENS DA IMAGEM$grafico->img->SetMargin(80,80,80,80);// DEFINE O TÍTULO DA IMAGEM$grafico->title->Set("Titulo Grafico");// DEFINE O TÍTULO DO EIXO X$grafico->xaxis->title->Set("Tutulo Eixo X");// DEFINE O TÍTULO DO EIXO Y$grafico->yaxis->title->Set("Titulo Eixo Y");//---------------------------------------------------------------------------------//// MOSTRANDO O GRÁFICO NO BROWSER$grafico->Stroke();?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz uma pequena adaptacao de um programa que encontrei na net para usar sua query.

O original pode ser encontrado em:

 

www.imasters.com.br/artigo/4639/php/jpgraph/

 

 

Espero que ajude.

 

 

<?php

 

//Disponibiliza arquivos JPGRAPH

include ("jpgraph.php");

include ("jpgraph_line.php");

 

$sql = "SELECT dealer, altas, SUM(`altas`) AS `altas`,(select sum(altas) from relatorio_visitas) as total FROM relatorio_visitas Group BY `dealer` asc";

$query = mysql_query($sql);

 

// CRIANDO A MATRIZ DE PONTOS

$matriz = array();

while ( $row = mysql_fetch_array($query) ){

array_push($matriz,$row["altas"]);

}

 

// CRIANDO O GRÁFICO

$grafico = new Graph(400,400);

// ESCALA AUTOMATICA

$grafico->SetScale("textint");

 

//-------------------CONSTRUINDO AS LINHAS GRÁFICO---------------------//

// JOGA OS DADOS DA MATRIZ E PLOTA EM UM GRAFICO LINEAR

$line = new LinePlot($matriz);

// MOSTRA OS PONTOS (LINHAS)

$line->value->Show();

// MOSTRA COR DA LINHA

$line->value->SetColor("blue");

// SETA FONTE E ESTILO DA FONTE

$line->value->SetFont(FF_FONT1,FS_BOLD);

//----------------------------------------------------------------------------------//

 

// ADCIONA AS LINHAS NO GRÁFICO

$grafico->Add($line);

 

//-----------------------PROPRIEDADES DA IMAGEM--------------------------//

// DEFINE AS MARGENS DA IMAGEM

$grafico->img->SetMargin(80,80,80,80);

// DEFINE O TÍTULO DA IMAGEM

$grafico->title->Set("Titulo Grafico");

// DEFINE O TÍTULO DO EIXO X

$grafico->xaxis->title->Set("Tutulo Eixo X");

// DEFINE O TÍTULO DO EIXO Y

$grafico->yaxis->title->Set("Titulo Eixo Y");

//---------------------------------------------------------------------------------//

 

// MOSTRANDO O GRÁFICO NO BROWSER

$grafico->Stroke();

 

?>

Fala amigo beleza?

 

Seu exemplo funcionou direitinho... parabéns e obrigado por ter ajudado... agora me diz uma coisa: Teria como alterar as informações nos eixos X e Y? Teria como colocar os estados PA, AP, MA, AM e RR? essas informações eu tenho no BD tambem porém se não puder puxar do mesmo pode ser manual mesmo...

 

Abraços,

George Sena

Compartilhar este post


Link para o post
Compartilhar em outros sites

george poderia me ajudar?tive o mesmo problema que vocepreciso colocar a linha x com informações minhasmas este codigo que voce me passou não estou conseguindoele aparece 1 e 2 apenas...voce mudou alguma outra coisa no código?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vê se ajuda, esse é o código que usei...

 

<?php

require "comum.php";

include ("jpgraph.php");

include ("jpgraph_bar.php");

 

$sql = "SELECT uf, altas,trocas,dados, SUM(`altas`) AS `altas`, SUM(`trocas`) AS `trocas`, SUM(`dados`) AS `dados`,(select sum(altas) from relatorio_visitas) as total FROM relatorio_visitas Group BY `uf` order by '$total_dinheiro' asc";

$query = mysql_query($sql);

 

$datay=array();

$datax=array();

while ( $row = mysql_fetch_array($query) ){

array_push($datay,$row["altas"]);

array_push($datax,$row["uf"]);

}

 

// Create the graph. These two calls are always required

$graph = new Graph(400,280,"auto");

$graph->SetScale("textlin");

 

// Add a drop shadow

$graph->SetShadow();

 

// Adjust the margin a bit to make more room for titles

$graph->img->SetMargin(40,30,20,40);

 

// Create a bar pot

$bplot = new BarPlot($datay);

 

// Adjust fill color

$bplot->SetFillColor('#CC9933');

 

// Setup values

$bplot->value->Show();

$bplot->value->SetFormat('%d');

$bplot->value->SetFont(FF_FONT1,FS_BOLD);

 

// Center the values in the bar

$bplot->SetValuePos('center');

 

// Make the bar a little bit wider

$bplot->SetWidth(0.7);

 

$graph->Add($bplot);

 

// Setup the titles

$graph->title->Set("Prospecção de Altas");

$graph->xaxis->SetTickLabels($datax);

$graph->yaxis->title->Set("Altas");

 

$graph->title->SetFont(FF_FONT1,FS_BOLD);

$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);

$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);

 

// Display the graph

$graph->Stroke();

?>

 

 

Abraços,

George Sena

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.