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
|
<?php
function calendrier($mois,$annee) //renvoi un calendrier
{
//variables
$date = date('Y-m-01');
$moi = date('n');
$year = date('Y');
$ts = mktime(1,1,1,$mois,1,$annee); //Recuperation du timestamp du numero du jour de base cad le numero du jour du premier jour du mois ouf !
$tab = getdate($ts); //Recuperation du numero du jour de base, le numero du jour du premier jour du mois
$j = 1 ; //premier jour
$nbjour = date('t',$ts) ;//nombre de jour dans le mois
$nom_mois = array('Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobtre','Novembre','Décembre');//Nom des moins in French
//cette sequence corrige le numero du dimanche. PHP donne 0, dans notre cas 7 est préférable, donc..
if($tab['wday'] == 0)
{
$dp = 7 ;
}
else
{
$dp = $tab['wday'] ;
}
$moiprochain = date('Y-m-d',strtotime($date . '+1 month'));
$moiapresedent = date('Y-m-d',strtotime($date . '-1 month'));
//Affichage de l'entête du calendrier
echo '
<table width="100%" border="1">
<tr>
<td align="center" colspan="7" class="calendrier-mois">
<a href="#" onclick="updatelistdate(\''.$moiapresedent.'\')"><b><</b></a> <b>'.$nom_mois[$mois-1].' '.$year.'</b> <a href="#" onclick="updatelistdate(\''.$moiprochain.'\')"><b>></b></a>
</td>
</tr>
';
echo '
<tr>
<td>Lun</td>
<td>Mar</td>
<td>Mer</td>
<td>Jeu</td>
<td>Ven</td>
<td>Sam</td>
<td>Dim</td>
</tr>
';
//Affichage du calendrier
for($i=1;$i<=42;$i++)
{
if($i % 7 == 1 ) //si il reste un, on commence forcement une nouvelle ligne
{
echo '
<tr>
';
}
for($f = $date ; $f < $moiprochain ;$f = date('Y-m-d',strtotime($f . '+1 day'))) {
if(($dp <= $i)&&($j <= $nbjour))//si nous sommes apres le numero du premier jour et que nous n avons pas
{ // passé le 30 ou 31 : on affiche
echo '
<td>
<a href="#" onclick="updatedate(\''.$f.'\')">'.$j.'</a>
</td>
';
$j++;
} // fin if
else //sinon case vide
{
echo '
<td>
</td>
';
} // fin else
if($i % 7 == 0 ) //si il ne reste rien, cad des multiples de 7, on se retrouve forcement en fin de ligne
{
echo '
</tr>
';
} // fin if
} // fin for f
} // fin for i
echo '
</table>
'; //affichage de la fin du tableau
//calcul des positions des mois
//barre de navigation
} //Fin fonction
?> |
Partager