jpgraph empty square php line chart [closed]

1

Here's my code to receive data form:

if(empty($_POST["GESTOR"]))
{
    $where_GESTOR = "";
} 
else 
{
    $GESTOR = implode( "','" , $_POST["GESTOR"]);
    $where_GESTOR = " and B.GESTOR in ('$GESTOR') ";
}
if(empty($_POST["FORNECEDOR"]))
{
    $where_FORNECEDOR = '';
} 
else 
{
    $FORNECEDOR = implode("','" , $_POST["FORNECEDOR"]);
    $where_FORNECEDOR = "and B.FORNECEDOR in ('$FORNECEDOR') ";
}

Here I put the pack of jpgraph and one of the DB connection.

require_once ('../jpgraph/src/jpgraph.php');
require_once ('../jpgraph/src/jpgraph_line.php');
include ('../db/bdconnect.php');

Here I put the first date of my chart.

$query_aceitar_nota = "SELECT t.QUANTIDADE as QUANTIDADE
FROM
(SELECT DISTINCT
                IIF(A.APROVACAO='S', 'ACEITAR NOTA', 'NÃO ACEITAR NOTA') AS APROVACAO,
                COUNT(A.APROVACAO) AS QUANTIDADE,
                A.DT_CADASTRO
FROM [PORTALFINANCEIRO].[DBO].[TB_SGNF_APROVACAO] AS A
LEFT JOIN [PORTALFINANCEIRO].[dbo].[TB_SGNF_GED_SGNF_HISTORICO] AS B ON A.PROTOCOLO = B.PROTOCOLO
WHERE A.DT_CADASTRO BETWEEN DATEADD(DAY, -931, GETDATE()) AND GETDATE()"
.$where_GESTOR.$where_FORNECEDOR.
"GROUP BY A.APROVACAO, A.DT_CADASTRO) AS t
WHERE t.APROVACAO = 'ACEITAR NOTA'
ORDER BY t.DT_CADASTRO";
$result = mssql_query($query_aceitar_nota, $con);
$datay1 = [];
$x =0;
while($row = mssql_fetch_array($result, MSSQL_BOTH)){
  $datay1[$x] = $row['QUANTIDADE'];
  $x++;
}

Here I put the second date of my chart.

$query_nao_aceitar_nota = "SELECT t.QUANTIDADE as QUANTIDADE
FROM
(SELECT DISTINCT
                IIF(A.APROVACAO='S', 'ACEITAR NOTA', 'NÃO ACEITAR NOTA') AS APROVACAO,
                COUNT(A.APROVACAO) AS QUANTIDADE,
                A.DT_CADASTRO
FROM [PORTALFINANCEIRO].[DBO].[TB_SGNF_APROVACAO] AS A
LEFT JOIN [PORTALFINANCEIRO].[dbo].[TB_SGNF_GED_SGNF_HISTORICO] AS B ON A.PROTOCOLO = B.PROTOCOLO
WHERE A.DT_CADASTRO BETWEEN DATEADD(DAY, -931, GETDATE()) AND GETDATE()"
.$where_GESTOR.$where_FORNECEDOR.
"GROUP BY A.APROVACAO, A.DT_CADASTRO) AS t
WHERE t.APROVACAO = 'NÃO ACEITAR NOTA'
ORDER BY t.DT_CADASTRO";
$result_nao = mssql_query($query_nao_aceitar_nota, $con);
$datay2 = [];
$x2 =0;
while($row2 = mssql_fetch_array($result_nao, MSSQL_BOTH)){
  $datay2[$x2] = $row2['QUANTIDADE'];
  $x2++;
}

Here is the plot all information in my line chart.

$graph = new Graph(850,450);
$graph->SetScale("textlin");
$theme_class=new UniversalTheme;
$graph->SetTheme($theme_class);
$graph->img->SetAntiAliasing(false);
$graph->title->Set('Taxa de aceitação da NF');
$graph->SetBox(false);
$graph->SetMargin(50,30,16,103);
$graph->img->SetAntiAliasing();
$graph->yaxis->HideZeroLabel();
$graph->yaxis->HideLine(false);
$graph->yaxis->HideTicks(false,false);
$graph->xgrid->Show();
$graph->xgrid->SetLineStyle("solid");
$query_dt_cadastro = "SELECT DISTINCT FORMAT(t.DT_CADASTRO, 'MM-dd') AS DT_CADASTRO
FROM
(SELECT DISTINCT
    IIF(APROVACAO='S', 'ACEITAR NOTA', 'NÃO ACEITAR NOTA') AS APROVACAO,
    COUNT(APROVACAO) AS QUANTIDADE,
    DT_CADASTRO
FROM [PORTALFINANCEIRO].[DBO].[TB_SGNF_APROVACAO]
WHERE DT_CADASTRO BETWEEN DATEADD(DAY, -931, GETDATE()) AND GETDATE()
GROUP BY APROVACAO, DT_CADASTRO) AS t
ORDER BY 1";
$result_dt_cadastro = mssql_query($query_dt_cadastro, $con);
$dt_cadastro = [];
$x3 =0;
while($row3 = mssql_fetch_array($result_dt_cadastro, MSSQL_BOTH)){
  $dt_cadastro[$x3] = $row3['DT_CADASTRO'];
  $x3++;
}
$graph->xaxis->SetTickLabels($dt_cadastro);
$graph->xgrid->SetColor('#E3E3E3');
$p1 = new LinePlot($datay1);
$graph->Add($p1);
$p1->SetColor("#6495ED");
$p1->SetLegend('ACEITAR NOTA');
$p2 = new LinePlot($datay2);
$graph->Add($p2);
$p2->SetColor("#B22222");
$p2->SetLegend('NÃO ACEITAR NOTA');
$graph->legend->SetFrameWeight(1);
$graph->Stroke();
    
asked by anonymous 02.01.2019 / 20:45

0 answers