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
| <?php
$host = 'localhost';
$user = 'root';
$bdd = 'cm';
mysql_connect($host, $user,'') or die("erreur de connexion au serveur");
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
$annee = 2008;
// date (mysql type DATE) lundi de cette semaine --> $dateLundi
// date (mysql type DATE) vendredi de cette semaine --> $dateVendredi
// recherche en base des congés chevauchant cette semain
$query = "SELECT "
. "WEEK( Date_debut,2) AS wDebut,DAYOFWEEK( Date_debut ) AS wsDebut,"
. "TO_DAYS( Date_debut) AS dDebut,TO_DAYS( Date_fin ) AS dFin,date_debut, date_fin"
. " FROM tab_test"
. " WHERE YEAR(Date_debut) =" . $annee
. " OR YEAR(Date_fin) =" . $annee ;
//echo '<br>...' . $query;
$result = mysql_query( $query ) or die( mysql_error() );
// réservationtableau pour les nbre de jours par semaine
for( $i=0; $i<53; $i++ )
$nbrJours[ ] = 0;
// boucle sur les enregistrements de la table
while( $line = mysql_fetch_array( $result ) )
{
$semaine = $line['wDebut'];
$jourSemaine = $line['wsDebut']; // dimanche = 1
$jourDebut = $line['dDebut'];
$jourFin = $line['dFin'];
$jour1 = $line['date_debut'];
$jour2 = $line['date_fin'];
for( $jour = $jourDebut; $jour <= $jourFin; $jour++ )
{
if( $jourSemaine > 1 AND $jourSemaine <= 7 )
$nbrJours[ $semaine+1 ]++;
$jourSemaine++;
if( $jourSemaine > 7 ) {$semaine++; $jourSemaine = 1;}
}
for ($i=$jour1;$i<$jour2;$i++)
{
$individu = array("$i");
foreach($individu as $cle=>$valeur)
{
if ($valeur!='2008-08-01' and $valeur!='2008-08-08' and $valeur!='2008-05-01' and $valeur!='2008-05-08' )
{
echo $valeur;
}
else
{
$nbrJours[ $semaine+1 ]--;
}
}
}
}
// affichage résultat
echo '<pre>'; print_r( $nbrJours ); echo '</pre>' |
Partager