109 lines
2.7 KiB
PHP
Executable File
109 lines
2.7 KiB
PHP
Executable File
<?php
|
||
/* Recup des donn<6E>es */
|
||
$id_club=$_GET['id_club'];
|
||
$jour=$_GET['jour'];
|
||
$mois=$_GET['mois'];
|
||
$annee=$_GET['annee'];
|
||
|
||
/* Connexion BDD */
|
||
include("conf.php");
|
||
|
||
|
||
$types=array('Loisir','Autre','Tournoi','Championnat','Cours','Entretien');
|
||
|
||
if($jour!= 'vide' and $mois!='vide') {
|
||
$res=checkdate($mois, $jour, $annee);
|
||
if($res==TRUE) {
|
||
$date_ok=1;
|
||
}
|
||
else {
|
||
$date_ok=-1;
|
||
}
|
||
}
|
||
else {
|
||
$date_ok=0;
|
||
}
|
||
|
||
/* Journée */
|
||
if($date_ok==1) {
|
||
$ts=mktime(0,0,0,$mois,$jour,$annee);
|
||
$debut=Date("Y-m-d", $ts);
|
||
$fin=Date("Y-m-d", $ts);
|
||
}
|
||
/* Sur un mois ou une année */
|
||
else if($date_ok==0) {
|
||
/* Année */
|
||
if($mois=='vide') {
|
||
$debut="$annee-01-01";
|
||
$fin="$annee-12-31";
|
||
}
|
||
/* Mois */
|
||
else {
|
||
$ts=mktime(0,0,0,$mois,1,$annee);
|
||
$debut=Date("Y-m-d", $ts);
|
||
/* dernier jour du mois */
|
||
$ts=mktime(0,0,0,$mois,1,$annee);
|
||
$locales = array('fr_FR.UTF-8', 'fr_FR');
|
||
setlocale(LC_ALL,$locales);
|
||
$dernier_jour=date("t",$ts);
|
||
$ts=mktime(0,0,0,$mois,$dernier_jour,$annee);
|
||
$fin=Date("Y-m-d", $ts);
|
||
}
|
||
}
|
||
|
||
$resultats=array();
|
||
$total=0;
|
||
for($i=0;$i<count($types);$i++) {
|
||
$requete="SELECT COUNT(r.id_reservation) FROM reservation r LEFT JOIN reservable t ON t.id_reservable=r.id_reservable WHERE t.id_club='$id_club' AND r.type='$types[$i]' AND r.date_resa>= '$debut' AND r.date_resa <= '$fin'";
|
||
$reponse=mysqli_query( $db_connection, $requete) or die("Erreur lors de l'execution de la requete<br />");
|
||
$resa=mysqli_fetch_array($reponse);
|
||
array_push($resultats,$resa[0]);
|
||
$total+=$resa[0];
|
||
}
|
||
|
||
/* Création du graphique avec la lib JPGraph */
|
||
include ("jpgraph/jpgraph.php");
|
||
include ("jpgraph/jpgraph_pie.php");
|
||
include ("jpgraph/jpgraph_pie3d.php");
|
||
|
||
// On spécifie la largeur et la hauteur du graph
|
||
$graph = new PieGraph(800,600);
|
||
|
||
// Ajouter une ombre au conteneur
|
||
$graph->SetShadow();
|
||
|
||
// Donner un titre
|
||
$graph->title->Set("Reservations par types");
|
||
|
||
// Créer u/home/tennis/public_html/tyrolt_tn camembert
|
||
$pie = new PiePlot3D($resultats);
|
||
|
||
// Spécifi/home/tennis/public_html/tyrolt_ter des couleurs personnalisées... #FF0000 ok
|
||
$pie->SetSliceColors(array('red', 'blue', 'green', 'brown','yellow','pink'));
|
||
|
||
// Légendes qui accompagnent le graphique, ici chaque année avec sa couleur
|
||
$pie->SetLegends($types);
|
||
|
||
// Position du graphique (0.5=centré)
|
||
$pie->SetCenter(0.45);
|
||
|
||
// Position du graphique (0.5=centré)
|
||
$pie->ExplodeSlice(1);
|
||
|
||
// Type de valeur (pourcentage ou valeurs)
|
||
$pie->SetValueType(PIE_VALUE_ABS);
|
||
|
||
// Personnalisation des étiquettes pour chaque partie
|
||
$pie->value->SetFormat('%d res.');
|
||
|
||
// Polices des étiquettes
|
||
$pie->value->SetColor('blue');
|
||
|
||
// ajouter le graphique PIE3D au conteneur
|
||
$graph->Add($pie);
|
||
|
||
$graph->Stroke();
|
||
|
||
mysql_close($db_connection);
|
||
|
||
?>
|