Ciao a tutti! ho un problema nella visualizzazione dei grafici con la libreria phpgraphlib. Premetto che la sto iniziando ad usare da pochi giorni... sto creando un applicazione web based dove devo estrarre dei dati dal mio DB e mostrarli su una pagina in worpress. Utilizzo XAMPP. Il problema si manifesta già se utilizzo gli esempi nella cartella di phpgrahlib. Se eseguo il file example1.php visualizzo il grafico.
Ma se, ad esempio, utilizzo il codice del file example2.php
ciò che visualizzo è questo:
anche utilizzando il codice che devo utilizzare io, visualizzo la stessa pagina nera.
se invece imposto che il grafico deve essere salvato come un file .png è tutto ok. Come mai? (P.S. il mio scopo è che ogni volta che venga aperta la pagina html mi produca un grafico in base ai dati nel DB che possono variare continuamente). Grazie anticipatamente
PHP:
<?php
include('../phpgraphlib.php');
$graph = new PHPGraphLib(500, 350);
$data = array(12124, 5535, 43373, 22223, 90432, 23332, 15544, 24523, 32778,
38878, 28787, 33243, 34832, 32302);
$graph->addData($data);
$graph->setTitle('Widgets Produced');
$graph->setGradient('red', 'maroon');
$graph->createGraph();
Ma se, ad esempio, utilizzo il codice del file example2.php
PHP:
<?php
include('../phpgraphlib.php');
$graph = new PHPGraphLib(500, 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->addData($data);
$graph->setBarColor('255,255,204');
$graph->setTitle('Money Made at XYZ Corp');
$graph->setTextColor('gray');
$graph->createGraph();
anche utilizzando il codice che devo utilizzare io, visualizzo la stessa pagina nera.
PHP:
<?php
//includo la libreria phpgrahlib
include('phpgraphlib.php');
$servername = "localhost";
$dbname = "db_test2"; //nome DB
$username = "root";
$password = "";
try {
//creo oggetto PDO di connessione al DBMS
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// impostazione dell'attributo per il report degli errori
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$graph = new PHPGraphLib(500, 350);
//creo array da dare all'oggetto graph
$dataArray=array();
//get data from database
$sql1="SELECT ipodiag,COUNT(*) AS 'count' FROM archivio_visita GROUP BY ipodiag ";
foreach ($conn->query($sql1) as $key1) {
$ipodiag=$key1['ipodiag'];
$count=$key1['count'];
$dataArray[$ipodiag]=$count;
}//end foreach
//configure graph
$graph->addData($dataArray);
$graph->setTitle("Statistiche diagnosi");
$graph->setGradient("lime", "green");
$graph->setBarOutlineColor("black");
$graph->createGraph();
} catch (\Exception $e) {
// notifica in caso di errore nel tentativo di connessione
echo $e->getMessage();
}
$conn = null;
?>
se invece imposto che il grafico deve essere salvato come un file .png è tutto ok. Come mai? (P.S. il mio scopo è che ogni volta che venga aperta la pagina html mi produca un grafico in base ai dati nel DB che possono variare continuamente). Grazie anticipatamente