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
|
<?php
include ("/jpgraph/jpgraph.php");
include ("/jpgraph/jpgraph_pie.php");
include ("/jpgraph/jpgraph_pie3d.php");
define('MYSQL_HOST', 'localhost');
define('MYSQL_USER', 'root');
define('MYSQL_PASS', '');
define('MYSQL_DATABASE', 'fichetemps');
$tableauService = array();
$tableauProjet = array();
// *****************************************************
// Extraction des données dans la base de données
// **************************************************
$sql = <<<EOF
SELECT
nom_service, nom_projet FROM `projet` WHERE nom_service = 'analyse'
EOF;
$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)) {
// Ajouter année devant, c'est pour la légende
$tableauProjet[] = "projet " . $row['nom_projet'];
$tableauService[] = $row['nom_service'];
}
// **************************************
// Création du graphique
// *****************************************
// On spécifie la largeur et la hauteur du graph
$graph = new PieGraph(1200,600);
// Ajouter une ombre au conteneur
$graph->SetShadow();
// Donner un titre
$graph->title->Set("Répartition des projets par service");
// Quelle police et quel style pour le titre
// Prototype: function SetFont($aFamily,$aStyle=FS_NORMAL,$aSize=10)
// 1. famille
// 2. style
// 3. taille
$graph->title->SetFont(FF_GEORGIA,FS_BOLD, 12);
// Créer un camembert
$pie = new PiePlot3D($tableauProjet);
// Quelle partie se détache du reste
$pie->ExplodeSlice(2);
// Spécifier des couleurs personnalisées... #FF0000 ok
$pie->SetSliceColors(array('red', 'blue', 'green'));
// Légendes qui accompagnent le graphique, ici chaque année avec sa couleur
$pie->SetLegends($tableauProjet);
// Position du graphique (0.5=centré)
$pie->SetCenter(0.4);
// Type de valeur (pourcentage ou valeurs)
$pie->SetValueType(PIE_VALUE_ABS);
// Personnalisation des étiquettes pour chaque partie
$pie->value->SetFormat('%d nom_projet');
// Personnaliser la police et couleur des étiquettes
$pie->value->SetFont(FF_ARIAL,FS_NORMAL, 9);
$pie->value->SetColor('blue');
// ajouter le graphique PIE3D au conteneur
$graph->Add($pie);
// Provoquer l'affichage
$graph->Stroke();
?> |
Partager