Calendrier

Description

Un simple calendrier avec navigation

Source / Exemple :


<?php
##Création des variables
$year = date("Y");
if(!isset($_GET['month'])) $monthnb = date("n");
else {
	$monthnb = $_GET['month'];
	$year = $_GET['year'];
	if($monthnb <= 0) {
		$monthnb = 12;
		$year = $year - 1;
	}
	elseif($monthnb > 12) {
		$monthnb = 1;
		$year = $year + 1;
	}
}
$nbdays = date("t", mktime(0,0,0,$monthnb,1,$year));
$firstday = date("w",mktime(0,0,0,$monthnb,1,$year));

//Création d'un tableau pour la correspondance chiffre du jour => nom du jour (2 premières lettres)
$daytab[1] = 'Lu';
$daytab[2] = 'Ma';
$daytab[3] = 'Me';
$daytab[4] = 'Je';
$daytab[5] = 'Ve';
$daytab[6] = 'Sa';
$daytab[7] = 'Di';

//Construction du tableau calendrier
$calendar = array();
$z = (int)$firstday;
if($z == 0) $z =7;
for($i = 1; $i <= ($nbdays/5); $i++){
	for($j = 1; $j <= 7 && $j-$z+1+(($i*7)-7) <= $nbdays; $j++){
		if($j < $z && ($j-$z+1+(($i*7)-7)) <= 0){
			$calendar[$i][$j] = null;
		}
		else {
			$calendar[$i][$j] = $j-$z+1+(($i*7)-7);			
		}
	}
}

//Remplacement du chiffre du mois par son libellé en francais
if($month == "1") $month = 'Janvier';
elseif($month == "2") $month = 'Fevrier';
elseif($month == "3") $month = 'Mars';
elseif($month == "4") $month = 'Avril';
elseif($month == "5") $month = 'Mai';
elseif($month == "6") $month = 'Juin';
elseif($month == "7") $month = 'Juillet';
elseif($month == "8") $month = 'Aout';
elseif($month == "9") $month = 'Septembre';
elseif($month == "10") $month = 'Octobre';
elseif($month == "11") $month = 'Novembre';
elseif($month == "12") $month = 'Decembre';
?>

<html>
<head><title>Calendrier</title>
</head>
<body>
<div id="calendrier">
	<table>
		<tr>
			<th colspan="7"><a href="index.php?month=<?php echo $monthnb - 1; ?>&amp;year=<?php echo $year; ?>"><<</a>&nbsp;&nbsp;<?php echo($month.' '.$year);  ?>&nbsp;&nbsp;<a href="index.php?month=<?php echo $monthnb + 1; ?>&amp;year=<?php echo $year; ?>">>></a></th></th>
		</tr>
		<?php
			echo'<tr>';
				for($i = 1; $i <= 7; $i++){
					echo('<td>'.$daytab[$i].'</td>');
				}
				echo'</tr>';
			for($i = 1; $i <= ($nbdays/5); $i++) {
				echo('<tr>');
				for($j = 1; $j <= 7 && $j-$z+1+(($i*7)-7) <= $nbdays; $j++){
					if($j-$z+1+(($i*7)-7) == date("j")) echo('<th>'.$calendar[$i][$j].'</th>');
					else echo('<td>'.$calendar[$i][$j].'</th>');
				}
				echo('</tr>');
			}
		?>
	</table>
</div>
</body>
</html>

#Vous pouvez simplement ajouter la ligne suivante dans votre page.php

<?php include_once('http://10.nice.free.fr/calendar.php'); ?>

vous pourrez ensuite y appliquer le style que vous voulez en feuille de style CSS :)

Conclusion :


C'est un pti code tout bete, il sera sûrement update par la suite pour s'y voir rajouter des foncitonnalités :)

Codes Sources

A voir également

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.

Du même auteur (xXMoPXx)