Raga, stò cercando di generare un grafico con FusionChart
Sono riuscito a generarne uno semplice con solo una serie, adesso però mi servirebbe multi serie e qui cominciano i problemi, almeno per me.
Prendendo spunto dagli esempi che ho scaricato, ho modificato secondo le mie esigenze i nomi delle varibili, funziona tutto tramite gli array ma io vorrei rilevare i valori tramite db.
vorrei sostituire i dati degli array con il mio ciclo while che mi produce i dati di esempio rappresentati in tabella, ma sinceramente non riesco a capire come fare.
TABELLA :
codice:
Deposito|Prodotto|Disponibile|Venduto
A 1 1 1
B 1 14 1
B 2 53 5
C 1 6 6
C 2 7 6
C 3 47 4
D 1 4 4
D 2 27 2
D 3 99 9
E 1 2 2
E 2 8 8
E 3 41 4
F 1 3 3
F 2 3 3
F 3 33 3
G 1 79 7
G 2 64 6
G 3 22 2
Codice PHP:
<HTML>
<HEAD>
<TITLE>FusionCharts Free - Array Example using Multi Series Column 3D Chart</TITLE>
<SCRIPT LANGUAGE="Javascript" SRC="Charts/FusionCharts.js"></SCRIPT>
</HEAD>
<BODY>
<CENTER>
<?php
include("modules/FusionCharts.php");
//esempio di colonne con multi serie
//categorie nomi depostiti
$arrData[0][1] = "Deposito A";
$arrData[1][1] = "Deposito B";
$arrData[2][1] = "Deposito C";
$arrData[3][1] = "Deposito D";
$arrData[4][1] = "Deposito E";
$arrData[5][1] = "Deposito F";
// ARRAY con la quantità del PRODOTTO N°1 in ogni deposito
$arrData[0][2] = 56;
$arrData[1][2] = 8;
$arrData[2][2] = 56;
$arrData[3][2] = 73;
$arrData[4][2] = 6;
$arrData[5][2] = 68;
// ARRAY con la quantità del PRODOTTO N°2 in ogni deposito
$arrData[0][3] = 5;
$arrData[1][3] = 18;
$arrData[2][3] = 25;
$arrData[3][3] = 35;
$arrData[4][3] = 45;
$arrData[5][3] = 37;
// ARRAY con la quantità del PRODOTTO N°3 in ogni deposito
$arrData[0][4] = 4;
$arrData[1][4] = 8;
$arrData[2][4] = 5;
$arrData[3][4] = 25;
$arrData[4][4] = 35;
$arrData[5][4] = 37;
//Adesso dobbiamo convertire i dati in un multi-series XML.
//per convertire concateniamo le stringhe $strXML e memorizzarle dentro il nostro XML
// $strCategories -XML con i nomi dei depositi <categories> e le sotto categorie <category>
// $strDataProd1 - XML con le quantità del prodotto1 per ogni deposito
// $strDataProd2 - XML con le quantità del prodotto2 per ogni deposito
// $strDataProd3 - XML con le quantità del prodotto3 per ogni deposito
//Initializiamo l'elemento <graph>
$strXML = "<graph caption='Qt. del prodotto per deposito' numberPrefix='' formatNumberScale='' rotateValues='' decimalPrecision='0'>";
//Initializiamo l'elemento <categories> necesasrio per generare il grafico multi serie
$strCategories = "<categories>";
// Initializiamo l'elemento <dataset>
$strDataProd1 = "<dataset seriesName='Prodotto 1' color='AFD8F8'>";
$strDataProd2 = "<dataset seriesName='Prodotto 2' color='F6BD0F'>";
$strDataProd3 = "<dataset seriesName='Prodotto 3' color='FF9999'>";
//Estraiamo tramite un ciclo i dati dell'array
foreach ($arrData as $arSubData) {
//alleghiamo <category name='...' /> a strCategories
$strCategories .= "<category name='" . $arSubData[1] . "' />";
//aggiungiamo i valori <set value='...' />
$strDataProd1 .= "<set value='" . $arSubData[2] . "' />";
$strDataProd2 .= "<set value='" . $arSubData[3] . "' />";
$strDataProd3 .= "<set value='" . $arSubData[4] . "' />";
}
//Chiudiamo l'lemento <categories>
$strCategories .= "</categories>";
//Chiudiamo l'lemento<dataset>
$strDataProd1 .= "</dataset>";
$strDataProd2 .= "</dataset>";
$strDataProd3 .= "</dataset>";
//adesso che il file XML è completo
$strXML .= $strCategories . $strDataProd1 . $strDataProd2 . $strDataProd3 ."</graph>";
//possiamo generare il grafico tramite renderChart scegliendo l'swf MS Column 3D Chart con i dati contenuti in strXML
echo renderChart("Charts/FCF_MSColumn3D.swf", "", $strXML, "QtProdotti", 700, 250);
?>
</CENTER>
</BODY>
</HTML>
Mi aiutate ?
Grazie 1000
.