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
| <?php
// ********************************************************************
// PARTIE : Includes et initialisation des variables
// ********************************************************************
// Inclusion de la librairie JpGraph
include ("src/jpgraph.php");
include ("src/jpgraph_pie.php");
include ("src/jpgraph_pie3d.php");
// Constantes (connection mysql)
define('MYSQL_HOST', 'localhost');
define('MYSQL_USER', 'root');
define('MYSQL_PASS', '');
define('MYSQL_DATABASE', 'etudiants');
// Tableaux de données destinées à JpGraph
$tableauA = array();
$tableauNombreT = array();
// ********************************************************************
// PARTIE : Production des données avec Mysql
// ********************************************************************
$sql = "SELECT distinct Activite as Activite1 , COUNT(n_societe) AS TOTAL FROM carriere c,societe s where s.n_societe=c.n_societe
GROUP BY Activite";
// 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
$tableauA[] = $row['Activite1'];
$tableauNombreT[] = $row['TOTAL'];
}
// ********************************************************************
// PARTIE : Création du graphique
// ********************************************************************
// On spécifie la largeur et la hauteur du graphique conteneur
$graph = new PieGraph(560,300);
// Ajouter une ombre au conteneur
$graph->SetShadow();
// Titre du graphique
$graph->title->Set("pourcent of etudiant in activite");
// 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 graphique secteur (classe PiePlot)
$pie = new PiePlot3D($tableauNombreT);
// Quelle partie se détache du reste
$pie->ExplodeSlice(0);
//$pie->ShowBorder(true, true);
//Contours de couleur noirs et d'épaisseur 1
$pie->SetEdge('black', 1);
// Spécifier des couleurs personnalisées... #FF0000 ok
$pie->SetSliceColors(array('red', 'aqua', 'green', 'purple', 'yellow', 'navy', 'teal', 'fuchsia', 'silver'));
// Légendes qui accompagnent chaque secteur, ici chaque année
$pie->SetLegends($tableauA);
// position du graphique (légèrement à droite)
$pie->SetCenter(0.25);
//Valeurs absolues
$pie->SetValueType(PIE_VALUE_ABS);
// Format des valeurs de type entier
$pie->value->SetFormat('%d dossiers');
// Personnaliser la police et couleur des étiquettes
$pie->value->SetFont(FF_ARIAL,FS_NORMAL, 10);
$pie->value->SetColor('black');
// Ajouter au graphique le graphique secteur
$graph->Add($pie);
// Provoquer l'affichage (renvoie directement l'image au navigateur)
$graph->Stroke();
?> |