1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
| <?php
include ("../jpgraph/jpgraph.php");
include ("../jpgraph/jpgraph_bar.php");
define('MYSQL_HOST', 'localhost');
define('MYSQL_USER', 'root');
define('MYSQL_PASS', '');
define('MYSQL_DATABASE', 'glpi');
$tableaucategorie = array();
$tableauouvert = array();
$tableauresolu = array();
// **********************************************
// Extraction des données dans la base de données
// *************************************************
$sql ='SELECT
name AS categorie,
COUNT(ID) AS ouvert,
COUNT(solvedate) AS resolu
FROM glpi_excel
WHERE YEAR(date) = 2012 AND MONTH(date) = 6
GROUP BY name
UNION
SELECT name AS categorie,0,0
FROM glpi_excel
WHERE name NOT IN ( SELECT DISTINCT name
FROM glpi_excel
WHERE YEAR(date) = 2012 AND MONTH(date) = 6)
ORDER BY categorie ASC';
$mysqlCnx = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die('Pb de connxion mysql');
@mysql_select_db(MYSQL_DATABASE) or die('Pb de sélection de la base');
$mysqlQuery = @mysql_query($sql, $mysqlCnx) or die('Pb de requête');
while ($row = mysql_fetch_array($mysqlQuery, MYSQL_ASSOC)) {
$tableaucategorie[] = $row['categorie'];
$tableauouvert[] = $row['ouvert'];
$tableauresolu[] = $row['resolu'];
}
/*
printf('<pre>%s</pre>', print_r($tableauAnnees,1));
printf('<pre>%s</pre>', print_r($tableauNombreVentes,1));
*/
// *******************
// Création du graphique
// *******************
// Construction du conteneur
// Spécification largeur et hauteur
$graph = new Graph(1000,500);
// Réprésentation linéaire
$graph->SetScale("textlin");
// Ajouter une ombre au conteneur
//$graph->SetShadow();
// Fixer les marges
$graph->img->SetMargin(60,30,25,140);
// Une ombre pour chaque barre
//$bplot->SetShadow();
// Chaque histogramme sera placé dans un tableau commun
$aGroupBarPlot = array();
//Histo 1
$bplot = new BarPlot($tableauouvert);
$aGroupBarPlot[] = $bplot;
//Histo 2
$bplot2 = new BarPlot($tableauresolu);
$aGroupBarPlot[] = $bplot2;
//Objet qui regroupe les histogrammes
$gbarplot = new GroupBarPlot($aGroupBarPlot);
// Fixer l'aspect de la police
$bplot->value->SetFont(FF_ARIAL,FS_NORMAL,8);
// Modifier le rendu de chaque valeur
$bplot->value->SetFormat('%d');
// Fixer l'aspect de la police
$bplot2->value->SetFont(FF_ARIAL,FS_NORMAL,8);
// Modifier le rendu de chaque valeur
$bplot2->value->SetFormat('%d');
// Spécification des couleurs des barres
$bplot->SetFillColor('red');
$bplot2->SetFillColor('green');
// Couleur de l'ombre et du fond de la légende
$graph->legend->SetShadow('darkgray@0.5');
$graph->legend->SetFillColor('lightblue@0.3');
// Légendes
//bplot->SetLegends($tableauouvert);
//$bplot2->SetLegends($tableauresolu);
// Afficher les valeurs pour chaque barre
$bplot->value->Show();
$bplot2->value->Show();
// Le titre
$graph->title->Set("Nombre de tickets ouvert et résolus");
$graph->title->SetFont(FF_FONT1,FS_BOLD);
// Titre pour l'axe horizontal(axe x) et vertical (axe y)
//$graph->xaxis->title->Set("Années");
//$graph->yaxis->title->Set("Nombre de ventes");
$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
// Légende pour l'axe horizontal
$graph->xaxis->SetTickLabels($tableaucategorie);
$graph->xaxis->SetFont(FF_ARIAL,FS_NORMAL,8);
$graph->xaxis->SetLabelAngle(50);
// Ajouter au graphique les 2 histos
$graph->Add($gbarplot);
// Afficher le graphique
$graph->Stroke();
?> |
Partager