Files
resatennis_tyroltenn/www/tyroltenn/impression_recap.php

169 lines
5.9 KiB
PHP
Executable File

<?php
include("conf.php");
$mois=$_GET['mois'];
$annee=$_GET['annee'];
$num_fft=$_GET['num_fft'];
$id_joueur_prof=$_GET['prof'];
$type=$_GET['type'];
$invite=$_GET['invite'];
if($type=='cours') {
$id_joueur=$id_joueur_prof;
$requete="SELECT id_joueur, nom, prenom FROM joueur WHERE id_joueur='$id_joueur'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$joueur=mysqli_fetch_object($reponse);
}
else {
if(strlen($num_fft)==8) {
$requete="SELECT id_joueur, nom, prenom FROM joueur WHERE numero_fft='$num_fft'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$existe_joueur=mysqli_num_rows($reponse);
if($existe_joueur > 0) {
$joueur=mysqli_fetch_object($reponse);
$id_joueur=$joueur->id_joueur;
}
else {
$id_joueur=0;
}
}
else {
$id_joueur=0;
}
}
if($id_joueur != 0) {
include_once("fpdf.php");
$pdf=new FPDF("P","mm","A4");
$pdf->SetFont('Arial','',12);
$pdf->Open();
$pdf->AddPage();
/* Détermine les dates de début et de fin */
$ts_debut=mktime(0,0,0,$mois,1,$annee);
$nb_jour=Date("t",$ts_debut);
$ts_fin=mktime(0,0,0,$mois,$nb_jour,$annee);
$date_debut=Date("d/m/Y", $ts_debut);
$date_fin=Date("d/m/Y", $ts_fin);
$debut_sql=Date("Y-m-d", $ts_debut);
$fin_sql=Date("Y-m-d", $ts_fin);
$requete="SELECT date_resa, heure_resa_deb, heure_resa_fin, type, id_rubrique, type_reservation, id_reservable, id_joueur_adverse FROM reservation WHERE id_joueur='$joueur->id_joueur' AND date_resa >= '$debut_sql' AND date_resa <='$fin_sql'";
if($type=='cours') {
$requete.=" AND type='Cours'";
$titre="Recapitulatif des cours donnes par $joueur->prenom $joueur->nom";
}
else {
if($invite == "") {
$requete.=" AND type <> 'Cours' AND type <> 'Tournoi'";
}
else {
$req="SELECT id_joueur FROM joueur WHERE numero_fft='INVITE00'";
$repons_invite=mysqli_query($db_connection, $req) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$invite_bdd=mysqli_fetch_object($repons_invite);
$requete.=" AND type <> 'Cours' AND type <> 'Tournoi' AND id_joueur_adverse='$invite_bdd->id_joueur'";
}
$titre="Reservations de $joueur->prenom $joueur->nom";
}
/* Tri par date puis par heure de début */
$requete.=" ORDER BY date_resa ASC, heure_resa_deb ASC";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$nb_resas=mysqli_num_rows($reponse);
include("constantes.php");
$pdf->SetFillColor(255,255,0);
$pdf->Cell(195,15,"$titre",1,0,'C',1);
$pdf->Ln();
$pdf->Ln();
$mois_lettres=$mois_fr[$mois-1];
$pdf->Cell(195,10,"Mois de $mois_lettres $annee",1,0,'C',1);
$pdf->Ln();
$pdf->Ln();
if($nb_resas>0) {
$pdf->SetFont('Arial','',10);
$pdf->SetFillColor(255,128,128);
$pdf->Cell(30,10,"Date",1,0,'C',1);
$pdf->Cell(20,10,"Heure debut",1,0,'C',1);
$pdf->Cell(20,10,"Heure fin",1,0,'C',1);
$pdf->Cell(30,10,"Terrain",1,0,'C',1);
if($type != 'cours') {
$pdf->Cell(40,10,"Joueur adverse",1,0,'C',1);
$pdf->Cell(25,10,"Type",1,0,'C',1);
}
$pdf->Cell(30,10,"Motif",1,0,'C',1);
$duree_resas=0;
$pdf->Ln();
while($resa=mysqli_fetch_object($reponse)) {
/* Calcul de la durée de la résa */
list($a,$m,$j)=explode("-",$resa->date_resa);
list($h, $min, $sec)=explode(":",$resa->heure_resa_deb);
$ts_debut=mktime($h,$min,$sec, $m,$j,$a);
list($h, $min, $sec)=explode(":",$resa->heure_resa_fin);
$ts_fin=mktime($h,$min,$sec, $m,$j,$a);
$duree=$ts_fin-$ts_debut;
$duree_resas+=$duree;
/* Affichage de la ligne dans le tableau */
list($a,$m,$j)=explode("-",$resa->date_resa);
$pdf->Cell(30,10,"$j/$m/$a",1,0,'C');
$heure=substr($resa->heure_resa_deb, 0,5);
$pdf->Cell(20,10,"$heure",1,0,'C');
$heure=substr($resa->heure_resa_fin, 0,5);
$pdf->Cell(20,10,"$heure",1,0,'C');
$requete="SELECT nom FROM reservable WHERE id_reservable='$resa->id_reservable'";
$rep=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$terrain=mysqli_fetch_object($rep);
$pdf->Cell(30,10,"$terrain->nom",1,0,'C');
if($type != 'cours') {
/* Joueur adverse */
if($resa->id_joueur_adverse != "") {
$requete="SELECT nom, prenom FROM joueur WHERE id_joueur='$resa->id_joueur_adverse'";
$rep=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$joueur_adv=mysqli_fetch_object($rep);
$pdf->Cell(40,10,"$joueur_adv->prenom $joueur_adv->nom",1,0,'C');
}
else {
$pdf->Cell(40,10," ",1,0,'C');
}
/* type résa */
if($resa->type=='Autre' and $resa->id_rubrique != 0) {
$requete="SELECT nom FROM rubriques_resa WHERE id_rubrique='$resa->id_rubrique'";
$rep=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$rubrique=mysqli_fetch_object($rep);
$pdf->Cell(25,10,"$rubrique->nom",1,0,'C');
}
else {
$pdf->Cell(25,10,"$resa->type",1,0,'C');
}
}
/* motif resa */
$pdf->Cell(30,10,"$resa->type_reservation",1,0,'C');
$pdf->Ln();
}
/* Affichage de la durée totale des réservations */
/* Passe la durée en sec en heures */
$heure=$duree_resas/3600;
if($duree_resas % 3600 != 0) {
$min="30";
$heure-=0.5;
}
else {
$min="00";
}
$pdf->Ln();
$pdf->Cell(195,10,"Duree totale des reservations sur le mois : $heure h $min",0,0,'C');
}
else {
$pdf->Cell(195,10,"Aucune reservation durant cette periode",1,0,'C');
}
$pdf->Output();
}
mysql_close($db_connection);
?>