petit script pour avancer ou reculer la date de reference .
utilisable pour un agenda ,un calendrier ,un carnet de rendez vous ect.
l'utilisation de la fonction php mktime() permet de s'afranchir de pas mal de controle sur la validitee de la date calculer, la fonction fait ca tres bien pour nous ,pour finir une seule infos est transmise d'une page a l'autre .
Source / Exemple :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>
IncDecDate
</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="StyleSheet" href="IncDec.css" type="text/css">
</head>
<body>
<div align="center">
<?php
/* pour limiter les donnes transmises, seul une valeur timestamp est utilisee */
/* la fonction mktime corrige les erreurs de date et surtout les jours */
//if (!isset ($ref)) { // pour 1er affichage
// definition de la reference temp du script
if (isset($_GET["ref"])) { $ref=$_GET["ref"]; // verifier donnee transmise
}else{
$ref=time(); // sinon prendre le temp present
}
$Annee=date("Y",$ref); // Y pour l'annee en format long
$Mois =date("n",$ref); // important n => Mois sans les zéros initiaux
$Jour =date("j",$ref); // important j => jour sans les zéros initiaux
// calcul des infos pour la suite
$Aprec= mktime (0,0,0,$Mois,$Jour,$Annee-1); // calcul l'annee precedente
$Mprec= mktime (0,0,0,$Mois-1,$Jour,$Annee); // calcul le mois precedent
$Jprec= mktime (0,0,0,$Mois,$Jour-1,$Annee); // calcul le jour precedent
$Jsuivant= mktime (0,0,0,$Mois,$Jour+1,$Annee); // calcul le jour suivant
$Msuivant= mktime (0,0,0,$Mois+1,$Jour,$Annee); // calcul le mois suivant
$Asuivant= mktime (0,0,0,$Mois,$Jour,$Annee+1); // calcul l'annee suivante
$url= $_SERVER['PHP_SELF']; // faut bien faire un lien non?
?>
<div id="aff">
<A HREF="<?php print $url."?ref=$Aprec";?>">
<IMG SRC="Dec_A.png" class="IncDec" alt="-A" title="Dec_A" />
</A>
<img src="spacer.gif" title="spacer" width="1" height="1" alt="_" />
<A HREF="<?php print $url."?ref=$Mprec";?>">
<IMG SRC="Dec_M.png" class="IncDec" ALT="-M"></A>
<img src="spacer.gif" title="spacer" width="1" height="1" alt="_" />
<A HREF="<?php print $url."?ref=$Jprec";?>">
<IMG SRC="Dec_J.png" class="IncDec" alt="-J" title="Dec_J" />
</A>
<img src="spacer.gif" title="spacer" width="1" height="1" alt="_" />
<A HREF="<?php print $url;// pas d'infos pour retourner a maintenant
?>">
<IMG SRC="0.png" ID="IncDec" ALT="Raz"></A>
<img src="spacer.gif" title="spacer" width="1" height="1" alt="_" />
<A HREF="<?php print $url."?ref=$Jsuivant";?>">
<IMG SRC="Inc_J.png" class="IncDec" alt="+J" title="Inc_J" />
</A>
<img src="spacer.gif" title="spacer" width="1" height="1" alt="_" />
<A HREF="<?php print $url."?ref=$Msuivant";?>">
<IMG SRC="Inc_M.png" class="IncDec" alt="+M" title="Inc_M" />
</A>
<img src="spacer.gif" title="spacer" width="1" height="1" alt="_" />
<A HREF="<?php print $url."?ref=$Asuivant";?>">
<IMG SRC="Inc_A.png" class="IncDec" alt="+A" title="Inc_A" />
</A>
</div>
<br />
<b>
<?php
$D=date("z",$ref)+1;
print(date("l j F Y :\W\e\e\k=W \D\a\y=$D",$ref));
// inclure ici la fonction AfficheCalendrier du meme auteur
?>
</b>
<br />
</div>
</body>
</html>
Conclusion :
c'est en analysant les stats de telechargement du script AfficheCalendrier.php qu'il m'est venue l'idee d'en ameliore une partie de la demo
ce petit bout de code y est donc directement compatible mais peut aussi vous servir dans d'autres occasions
ici les annees ,les mois et les jours sont calculer mais sur le meme principe on peut aussi travailler les heure ,minutes ou meme seconde enfin comme on veut.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.