Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php
include ("../../../../api/jpgraph_1.12.2/jpgraph.php") ;
include ("../../../../api/jpgraph_1.12.2/jpgraph_line.php") ;
include ("../../../../api/jpgraph_1.12.2/jpgraph_bar.php");
include ("../../../../papyrus/configuration/pap_config.inc.php") ;
include_once 'DB.php' ;
$db = DB::connect (PAP_DSN) ;
if (DB::isError($db)) {
echo 'Message Standard : ' . $db->getMessage() . "\n";
echo 'Message DBMS/Utilisateur : ' . $db->getUserInfo() . "\n";
echo 'Message DBMS/Déboguage : ' . $db->getDebugInfo() . "\n";
exit;
}
$tab_mois = array("Jan","Fev","Mar","Avr","Mai","Juin","Juil","Août","Sep","Oct","Nov","Dec");
$tab_donnees_add = array() ;
$tab_donnees_del = array() ;
$tps_debut = mktime(0,0,0,1,1);
$tps_courrant = $tps_debut;
$tps_fin = time();// jour courrant
$i = 0;
//Requete par mois
while ($tps_courrant <= $tps_fin) {
$tps_semaine_suivante = $tps_courrant + (7 * 24 * 60 * 60);
$tps_mois_suivant = mktime(0,0,0,$i+2,1);
//echo date('Y-m-d H:i:s', $tps_courrant).' - '.date('Y-m-d H:i:s', $tps_mois_suivant);
$requete = 'SELECT IS_ACTION '.
'FROM ins_STATS '.
'WHERE IS_DATE >= "'.date('Y-m-d H:i:s', $tps_courrant).'" '.
'AND IS_DATE < "'.date('Y-m-d H:i:s', $tps_mois_suivant).'" ';
$resultat = $db->query($requete) ;
$tab_donnees_add[$i] = 0 ;
$tab_donnees_del[$i] = 0 ;
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
if ($ligne->IS_ACTION == 'add') $tab_donnees_add[$i]++ ;
if ($ligne->IS_ACTION == 'del') $tab_donnees_del[$i]++ ;
}
//echo ' - '.$tab_donnees[$i-1].'<br/>';
$tps_courrant = $tps_mois_suivant;
$i++;
}
// Création du graphique
$graph = new Graph(500,400,"auto");
$graph->img->SetMargin(30,30,30,40);
$graph->SetMarginColor("white");
$graph->SetScale('textint');
$graph->xaxis->SetTickLabels($tab_mois);
$graph->SetShadow();
$graph->title->Set("Évolution des inscriptions au Réseau");
$graph->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->title->Set("Mois depuis le 1er janvier ".date('Y'));
$graph->legend->SetLayout(LEGEND_HOR);
$graph->legend->Pos(0.5, 0.05, 'left', 'top');
// Création des barres
$BarPlotAdd = new BarPlot($tab_donnees_add);
$BarPlotAdd->SetFillColor("orange");
$BarPlotAdd->value->Show();
$BarPlotAdd->value->SetFormat("%s");
$BarPlotAdd->SetLegend ('Inscription');
$BarPlotDel = new BarPlot($tab_donnees_del);
$BarPlotDel->SetFillColor("green");
$BarPlotDel->value->Show();
$BarPlotDel->value->SetFormat("%s");
$BarPlotDel->SetLegend ('Désinscription');
// Nous assemblons les barres
//$ab1plot = new AccBarPlot (array($BarPlotAdd ,$BarPlotDel));
$gbplot = new GroupBarPlot(array($BarPlotAdd, $BarPlotDel));
$graph->Add($gbplot);
$graph->Stroke();
?>