// fonction de transfert N°mois => nom du mois:
function meses($mois){ switch ($mois) { case 1:$mois=Janvier; break; case 2:$mois=Février; break; case 3:$mois=Mars; break; case 4:$mois=Avril; break; case 5:$mois=Mai; break; case 6:$mois=Juin; break; case 7:$mois=Juillet; break; case 8:$mois=Août; break; case 9:$mois=Septembre; break; case 10:$mois=Octobre; break; case 11:$mois=Novembre; break; case 12:$mois=Decembre; break; } return $mois; } //debut du script comme tel $jour1=""; $jour2=""; //juste vérifier que l'on a pas cliqué pour rien... if($busquedad=="Voir"){ if( ($mois=="Choix") ){ ?> <script="javascript">> history.go(-1); </script>> <? exit; } // On commence par afficher le mois et l'année en question echo meses($mois);//voir le fichier fonctions_php.php echo" /$ano "; $interinicio="$ano-$mois-01";// 1er jour du mois à afficher $jour1=date('Y-m-d', strtotime('-1 day', strtotime($interinicio))) ; //recherche dernier jour du mois précedent $jour2=date('Y-m-d', strtotime('+1 month', strtotime($interinicio))) ; // recherche du 1er jour mois suivant $jour2=date('Y-m-d', strtotime('-1 day', strtotime($jour2))) ; //recherche du dernier jour du mois à afficher } // recherche pour mois suivant if($act=="ms"){ $jour1=$fecha; $interm=date('Y-m-d', strtotime('+1 day', strtotime($fecha))) ; $jour2=date('Y-m-d', strtotime('+1 month', strtotime($interm))) ; $jour2=date('Y-m-d', strtotime('-1 day', strtotime($jour2))) ; ereg( "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $jour2, $regs ); echo meses($regs[2]); echo" /$regs[1]"; } //recherche pour mois précedent if($act=="mp"){ $jour2=$fecha; ereg( "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $fecha, $regs ); $inter="$regs[1]-$regs[2]-01"; $jour1=date('Y-m-d', strtotime('-1 day', strtotime($inter))) ; meses($regs[2]); echo" /$regs[1]"; } // si aucune demande particulière a été donnée alors on prend le premier jour du mois en cours... if(empty($jour1)){ $basic=date('Y-m-01'); $jour1=date('Y-m-d', strtotime('-1 day', strtotime($basic))) ; $jour2=date('Y-m-d', strtotime('+1 month', strtotime($basic))) ; $jour2=date('Y-m-d', strtotime('-1 day', strtotime($jour2))) ; ereg( "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $jour2, $regs ); echo meses($regs[2]); echo" /$regs[1]"; } $pga=$jour1; $pgs=$jour2; ?> // Entête du tableau représentant le calendrier , la 1 ère cellule étant le Lundi <table border="1" width=""> <tr bgcolor="454545"> <td width="">Lun>/td>>td width="">Mar</td> <td width="">Mer>/td>>td width="">Jeu</td><td width="">Ven</td>; <td width="">Sam</td><td width="">Dim</td> </tr> <tr> <? $aujourdhui=date('Y-m-d'); // $jour1 est donc 1er jour du mois suivant et $jour2 est 1er jour du mois en cours while ( $jour1 > $jour2 ) { $jour1 = date('Y-m-d', strtotime('+1 day', strtotime($jour1))) ; // on va rechercher le nom du jour à afficher: $jours = array('Dimanche', 'Lundi', 'Mardi','Mercredi','Jeudi','Vendredi','Samedi') ; $jour_date = $jours[date('w', strtotime($jour1))] ; ereg( "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $jour1, $regs ); // si le jour en question est la date d'aujourd'hui alors on la met d'une autre couleur $bg=""; if($jour1==$aujourdhui){ $bg="bgcolor='7f7f7f'"; } //Maintenant il va falloir formater le tableau pour qu'il commence sous le bon nom de jour : //formatage suivant le jour de la semaine..... if($jour_date=="Dimanche"){ $saut="</tr><tr>"; }else{$saut="";} $debut="$jour_date/$regs[3]"; if($debut=="Mardi/01"){ echo"<td></td>"; } if($debut=="Mercredi/01"){ echo"<td></td><td></td>"; } if($debut=="Jeudi/01"){ echo"<td></td><td></td><td></td>"; } if($debut=="Vendredi/01"){ echo"<td>>/td><td></td><td></td><td></td>"; } if($debut=="Samedi/01"){ echo"<td></td><td></td><td></td><td></td><td></td>"; } if($debut=="Dimanche/01"){ echo"<td></td><td></td><td></td><td></td><td></td><td></td>"; } echo "<td $bg width=''> $regs[3]</td> $saut"; } //fin formatage ?> </tr> </table> <div align="center"> <? //lien pour le mois précédent: echo"<a class='lien' href='?act=mp&fecha=$pga'><< Mois précédent</a>"; // Lien pour le mois suivant: echo" <a class='lien' href='?act=ms&fecha=$pgs'> Mois suivant >></a>"; ?> </div> <br><br> <? // Début du formulaire de recherche d'un mois : if( empty($fig)){ // on fait les recherches sur 5 ans avant et 5 ans aprés $annee=date('Y'); $deban=$annee-5; $finan=$annee+5; $moisan= array('01'=>Janvier, '02'=>Février, '03'=>Mars,'04'=>Avril,'05'=>Mai,'06'=>Juin, '07'=>Juillet,'08'=>Août,'09'=>Septembre, '10'=>Octobre, '11'=>Novembre, '12'=>Décembre); ?> <form method="POST" action="?busquedad=Voir"> Voir mois de :<select size="1" name="mois"> <option selected>Choix</option> <? foreach($moisan as $opt=>$alfa){ echo"<option value='$opt'>$alfa</option>"; } ?> </select> <br> Sélectionner l'année : <select size="1" name="ano"> <? while($deban++<=$finan ){ echo"<option>$deban</option>"; } ?> </select> <br><input type="submit" name="busquedad" value="Voir"> </form> <? } |
Notes:
Notez que de toute façon ces scripts ne sont qu'à titre d'exemples et n'en sont donc que trés
partiels, il vous faudra bien-sûr les intégrer dans l'environnement de votre page, de votre site,
mais la méthode est là et elle fonctionne.
Autre point important, ces morceaux de scripts notament, lorsqu'il y a connexion à votre base de données, ne font aucune référence à certains problèmes de
sécurité.