Jpgraph e mysql
Publicado por Luiz Fernando Postingel Quirino 03/10/2007
[ Hits: 10.802 ]
Homepage: http://luizfpq.blogspot.com
Criação de gráfico baseado em leituras no db Mysql.
O exemplo de código abaixo lê o db e plota um gráfico de leituras termais.
No mysql copie o seguinte código: CREATE TABLE temperatura ( cod int(5) NOT NULL auto_increment, codmod int(5) default NULL, data varchar(10) default NULL, hora time default NULL, temp varchar(10) default NULL, PRIMARY KEY (cod) ) TYPE=MyISAM; Isso criará a tabela que leremos. Depois crie o arquivo graf_temp.php com o seguinte código <? mysql_connect('localhost','user','senha'); mysql_select_db('leitura'); /*conectamos ao nosso banco de dados, e incluiremos os arquivos do jpgraph mude os atribudos dos includes de acordo com suas configurações, faça o mesmo com o mysql_connect e mysql_select_db, para que funcione perfeitamente*/ include ("./src/jpgraph.php"); include ("./src/jpgraph_line.php"); /*o while lê todas as entadas da tabela temperatura você pode marcar quantas entradas quer ler na tabele pelo if($i == n) determinando o número de seleções */ $aux=mysql_query('select * from temperatura order by cod desc '); $i=0; while($lin=mysql_fetch_row($aux)) { $vet = $vet.','.$lin[4]; $titx = $titx.','.$lin[3]; $i++; if($i==12) { break; } } $vet=split(',',$vet);//cria a variavel array que de ve ser recebida pela matriz; $matriz=(array_reverse($vet));//inverte as posicões do vetor $titx=split(',',$titx);//cria a variavel array que será o título do eixo x; $hora=(array_reverse($titx));//inverte as posicões do vetor // Para testar sem banco de dados descomente as linhas abaixo e comente todas as de conexão ao banco //$matriz = array(2,50,10,3,11,1,6,2,50); //$hora = array('7:10','7:11','7:00','7:01','7:02','7:03','7:04','7:05','7:06'); // CRIANDO O GRÁFICO $grafico = new Graph(800,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); //----------------------------------------------------------------------------------// // ADCIONA AS LINHAS NO GRÁFICO $grafico->Add($line); //-----------------------PROPRIEDADES DA IMAGEM--------------------------// // DEFINE AS MARGENS DA IMAGEM $grafico->img->SetMargin(40,30,30,30); // DEFINE O TÍTULO DA IMAGEM $grafico->title->Set("TEMPERATURA EM GRAUS CELSIUS"); // DEFINE O TÍTULO DO EIXO X $grafico->xaxis->title->Set("Horário das leituras"); // DEFINE O TÍTULO DO EIXO Y $grafico->yaxis->title->Set("Temperatura"); //DEFINE OS VALORES NO EIXO X $grafico->xaxis->SetTickLabels($hora); //---------------------------------------------------------------------------------// // MOSTRANDO O GRÁFICO NO BROWSER $grafico->Stroke(); ?> Caso você queira que o gráfico seja plotado em outra página, inclua o arquivo graf_temp.php em seu html como uma imagem da seguinte maneira <img src="graf_temp.php"> Abraços, e bom proveito...
Automatizando tradução i18n do seu codigo
Gerador de Formulários com validações me PHP e JavaScript
Menu restrito com permissões de navegação
Consulta Amazon! Buscas na Web
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (9)