Jpgraph e mysql
Publicado por Luiz Fernando Postingel Quirino 03/10/2007
[ Hits: 10.610 ]
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...
SuperTab - tabela HTML com paginação e ordenação (PHP + MySQL)
Leitura de planilhas com PhpSpreadsheet
Como agendar um backup automático do PostgreSQL no Cron evitando o problema de senha
Como preparar o Vim/Neovim para corrigir ortografia em português
Dark Web e Malwares na internet, quanto custa?
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Como verificar o hash de um arquivo baixado da Internet e como criar um hash
Debian 12 - IPTABLES - removendo NFTABLES
OverWatch 2 - Abrindo portas do jogo no Iptables.
Como instalar o adaptador wifi USB Intelbras ACtion A1200 no Linux Mint
Como normalizar seus arquivos MP3 para que fiquem no mesmo volume
Fedora 40 Beta [RESOLVIDO] (6)
O que você está ouvindo agora? [2] (131)
LibreOffice alterar nomenclatura do ícone (15)
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba
[Shell Script] Tire screenshots com Scrot facilmente com Zscrot
[Shell Script] DioPSI - Script multidistro para instalar programas
[Shell Script] ARS Vídeos - Cortador de vídeos e webcam shooter