Plot in php with database values coming by loop repetition

Asked

Viewed 64 times

0

Good morning. I need to show on the screen a bar chart that shows the value of two tests (teste1 and teste2). However, the value of test1 is saved in $valor1 and the test value in $valor2 and whenever my list is covered these values change and need to go to my matrix $dados as the code below shows. The problem is that I don’t want the allocation space in my matrix to be static, it needs to store everything that comes from $lista to correctly represent the chart. has how to do this?

---- Code:

<?php
header("Access-Control-Allow-Origin: *");
require_once("respostasescolhidas.class.php");
#incluindo a classe. verifique se diretorio e versao sao iguais, altere se precisar
include('phplot.php');

$respostasescolhidas = new Respostasescolhidas();

if($_POST){
    $respostasescolhidas->add();
}

$valor1 = 0; $valor2 = 0;
$lista = $respostasescolhidas->getList();
//inicio problema
   foreach ($lista as $show) { 
$valor1 = '$show-> a1'; $valor2 = '$show-> a2'; }

#Matriz utilizada para gerar os graficos
$data = [ ['', $valor1 , $valor2], ];
//fim problema

#Instancia o objeto e setando o tamanho do grafico na tela
$plot = new PHPlot(800,600);
#Tipo de borda, consulte a documentacao
$plot->SetImageBorderType('plain');
#Tipo de grafico, nesse caso barras, existem diversos(pizza…)
$plot->SetPlotType('bars');
#Tipo de dados, nesse caso texto que esta no array
$plot->SetDataType('text-data');
#Setando os valores com os dados do array
$plot->SetDataValues($data);
#Titulo do grafico
$plot->SetTitle('Grafico de comparacao entre testes');
#Legenda, nesse caso serao tres pq o array possui 3 valores que serao apresentados
$plot->SetLegend(array('Pre teste','Pos teste'));
#Utilizados p/ marcar labels, necessario mas nao se aplica neste ex. (manual) :
$plot->SetXTickLabelPos('none');
$plot->SetXTickPos('none');
#Gera o grafico na tela
$plot->DrawGraph();


?>


  • Someone on call who can help?

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.