- Home
- Categorie
- Coding e Sistemistica
- PHP
- phpGraphLib in modalità dinamica non funziona
-
phpGraphLib in modalità dinamica non funziona
Ho realizzato un grafico statico con la libreria phpGraphLib e funziona:
[php]
<?php
include("phpgraphlib.php");
$graph=new PHPGraphLib(950,450);$data = array("Jan"=>1324, "Feb"=>1200, "Mar"=>100, "Apr"=>1925, "May"=>1444, "Jun"=>957, "Jul"=>364, "Aug"=>221, "Sep"=>1300, "Oct"=>848, "Nov"=>719, "Dec"=>114);
$graph->setBackgroundColor("white"); //imposta il colore di sfondo
$graph->setGrid(true); //con false nasconde la griglia di default è true
$graph->setLine(false); //con true mostra una linea che unisce i valori delle ordinate, di default è impostato a false
$graph->setLineColor("red"); //imposta il colore della linea appena descritta
$graph->setDataPoints(false);//con true mostra dei pallini in corrispondenza dei valori
$graph->setDataPointColor("red");//imposta il colore dei pallini appena descritti
$graph->setBars(true);//con false nasconde le barre
$graph->setGoalLine(1200);//mostra una linea orizzontale in corrispondenza del valore indicato
$graph->setGoalLineColor("red");//imposta il colore di questa linea$graph->addData($data);
$graph->setTitle("Titolo grafico");
$graph->setTextColor("red");
$graph->createGraph();
?>
[/php]ma se provo a renderlo dinamico non funziona più, dove può essere il problema?[php]
<?php
include("phpgraphlib.php");
$graph=new PHPGraphLib(950,450);$conn2=mysql_connect("...", "Sql******", "**");
mysql_select_db('Sql_1');$query_grafico="SELECT *
FROM c_art_articolo
ORDER BY contatore DESC
LIMIT 15";
$result_grafico = mysql_query($query_grafico, $conn2) or die('errore: ' . mysql_error());while($row_grafico = mysql_fetch_array($result_grafico)) { $data[$row_grafico['id_art_articolo']=>$row_grafico['contatore']]; }
$graph->setBackgroundColor("white"); //imposta il colore di sfondo
$graph->setGrid(true); //con false nasconde la griglia di default è true
$graph->setLine(false); //con true mostra una linea che unisce i valori delle ordinate, di default è impostato a false
$graph->setLineColor("red"); //imposta il colore della linea appena descritta
$graph->setDataPoints(false);//con true mostra dei pallini in corrispondenza dei valori
$graph->setDataPointColor("red");//imposta il colore dei pallini appena descritti
$graph->setBars(true);//con false nasconde le barre
$graph->setGoalLine(1200);//mostra una linea orizzontale in corrispondenza del valore indicato
$graph->setGoalLineColor("red");//imposta il colore di questa linea$graph->addData($data);
$graph->setTitle("Titolo grafico");
$graph->setTextColor("red");
$graph->createGraph();
?>
[/php]
-
Ciao
A prima vista direi che c'è un errore di sintassi sull'array $data nell'assegnazione dinamica da te esposta:
@prinzart said:[php]
$data[$row_grafico['id_art_articolo']=>$row_grafico['contatore']];[/php]Ti consiglio di provare così:
[PHP]$data[$row_grafico['id_art_articolo']] = $row_grafico['contatore'];[/PHP]Fammi sapere come va
-
Ho risolto scrivendo questa query:
$data = array();
$query_grafico="SELECT c_art_articolo.id_art_articolo, c_art_articolo.contatore
FROM c_art_articolo
ORDER BY c_art_articolo.contatore DESC
LIMIT 20";
$result_grafico = mysql_query($query_grafico, $conn2) or die('errore: ' . mysql_error());while($row_grafico = mysql_fetch_assoc($result_grafico)) { $id_art_articolo = $row_grafico['id_art_articolo']; $contatore = $row_grafico['contatore']; $data[$id_art_articolo] = $contatore; }