Ir para conteúdo
Fórum Script Brasil
  • 0

Erro na obtenção de array em PHP para gerar gráfico


Roberto Viana Moreno

Pergunta

Camaradas, estou gerando um gráfico com a classe Phplot a partir de um banco de dados MySQL. Num servidor teste, ele está funcionando direitinho, mas quando copio para o servidor definitivo (no mesmo host), parece que o Phplot não consegue ler os dados da array. As configurações estão idênticas nos dois servidores, banco de dados ativado, usuário atribuído, os diretórios da classe estão iguais, as tabelas estão iguais etc. Os dois servidores estão rodando PHP 7.4 com GD ativado.

Alguém pode me ajudar a resolver este mistério, por favor?

Servidor 1: https://monono.com.br/saude/g_glico.php

Servidor 2: https://dibex.com.br/g_glico.php

O gráfico está sendo gerado assim:

<?php

include ("conf.php");
$mysqli = new mysqli($host, $usuario, $senha, $banco);

$sql = "SELECT * FROM saude ORDER BY data";
$result = $mysqli -> query($sql);

while($row = $result->fetch_object()){
$dados[] = array($row->data, $row->glic);
}   
    
require("phplot-6.2.0/phplot.php");
 
$grafico = new PHPlot(400,400);
$grafico->SetFileFormat("png");
$grafico->SetTitle("GLICOSE");
$grafico->SetPlotType("lines");
$grafico->SetYTitle("Indice");
$grafico->SetXTitle("Data");
$grafico->SetDataValues($dados);
$grafico->DrawGraph();

?>

 

Editado por Roberto Viana Moreno
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Eu tentei testar apenas a função, mas eu não consegui. Recomendo fazer o mesmo. Teste apenas a função, sem amarrar a nenhum banco de dados, mais ou menos assim:

<?php
$data = array(
   array('', 1800,   5), array('', 1810,   7), array('', 1820,  10),
   array('', 1830,  13), array('', 1840,  17), array('', 1850,  23),
   array('', 1860,  31), array('', 1870,  39), array('', 1880,  50),
   array('', 1890,  63), array('', 1900,  76), array('', 1910,  92),
   array('', 1920, 106), array('', 1930, 123), array('', 1940, 132),
   array('', 1950, 151), array('', 1960, 179), array('', 1970, 203),
   array('', 1980, 227), array('', 1990, 249), array('', 2000, 281),
 );
require("phplot.php");  
$plot = new PHPlot(800, 600);
$plot->SetImageBorderType('plain');
$plot->SetPlotType('lines');
$plot->SetDataType('data-data');
$plot->SetDataValues($data);
# Main plot title:
$plot->SetTitle('US Population, in millions');
# Make sure Y axis starts at 0:
$plot->SetPlotAreaWorld(NULL, 0, NULL, NULL);
$plot->DrawGraph();

 

Screenshot_1.png

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...