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
| <?php
// ********************************************************************
// PARTIE : Includes et initialisation des variables
// ********************************************************************
// Inclusion de la librairie JpGraph
include ("../jpgraph.php");
include ("../jpgraph_pie.php");
// Constantes (connection mysql)
define('MYSQL_HOST', 'localhost');
define('MYSQL_USER', 'root');
define('MYSQL_PASS', '');
define('MYSQL_DATABASE', 'bddglpi');
// Tableaux de données destinées à JpGraph
$tableauStatus = array();
$tableauNombreTickets = array();
// ********************************************************************
// PARTIE : Production des données avec Mysql
// ********************************************************************
$sql = <<<EOF
SELECT
`status` AS STATUS,
COUNT(ID) AS NBR_TICKETS
FROM `glpi_tickets`
GROUP BY `status`
EOF;
// Connexion à la BDD
$mysqlCnx = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die('Pb de connxion mysql');
// Sélection de la base de données
@mysql_select_db(MYSQL_DATABASE) or die('Pb de sélection de la base');
// Requête
$mysqlQuery = @mysql_query($sql, $mysqlCnx) or die('Pb de requête');
// Fetch sur chaque enregistrement
while ($row = mysql_fetch_array($mysqlQuery, MYSQL_ASSOC)) {
// Alimentation des tableaux de données
$tableauStatus[] = '' . $row['STATUS'];
$tableauNombreTickets[] = $row['NBR_TICKETS'];
}
// ********************************************************************
// PARTIE : Création du graphique
// ********************************************************************
// On spécifie la largeur et la hauteur du graphique conteneur
$graph = new PieGraph(600,450);
// Titre du graphique
$graph->title->Set("Pourcentage de ticket par status");
// Créer un graphique secteur (classe PiePlot)
$oPie = new PiePlot($tableauNombreTickets);
// Légendes qui accompagnent chaque secteur, ici chaque année
$oPie->SetLegends($tableauStatus);
// position du graphique (légèrement à droite)
$oPie->SetCenter(0.4);
$oPie->SetValueType(PIE_VALUE_PER);
// Format des valeurs de type entier
$oPie->value->SetFormat('%d');
// Ajouter au graphique le graphique secteur
$graph->Add($oPie);
// Provoquer l'affichage (renvoie directement l'image au navigateur)
$graph->Stroke();
?> |
Partager