8796 sujets

Développement web côté serveur, CMS

Bonjour à tous,

j'aurai besoin d'une petite (voir une grosse) aide. Je cherche quelque exemple pour réaliser un calendrier avec des évènements (1/ Possible plusieurs évènement le même jour; 2/ données stocker dans une base mysql date; commentaire, nom) .

Auriez-vous des exemples de calendrier php?

Merci d'avance pour votre aide.

guigui69
Bonjour,
le stockage des évènements en base de donnée n'est pas ce qu'il y a de plus compliqué Smiley cligne
On stocke une date au format DATETIME (ou TIMESTAMP) on rajoute d'autres infos (descriptif, lieu, etc...)
La partie la plus difficile consiste à mettre en forme le dit calendrier (en prenant en compte les mois avec 29 ou 31 jours, les années bisextiles etc...)
Pour ça, un exemple içi: http://www.phpfrance.com/forums/voir_sujet-22523.php (avec un tout petit peu d'ajax pour éviter les rechargements des pages)
Tu peux lire la discussion qui suit ou poser tes uqestions içi Smiley cligne
la base d'un calendrier n'est pas super complexe,

ce sera toujours le binome de ces fonctions date(); & mktime(); que tu vas utiliser
dans 2 boucles imbriquées (celle des mois et des jours)

Je te passe un code de cette base qui est on ne peut plus explicite !

Amuse toi a rajouter une boucle pour surligner les jours fériés et d'autres provenant
de celles de ta bdd...

Amuse toi aussi à transformer les jours en liens où il pourrait se déclencher des Ajax sur les event mouseover ou onclick, en relation avec ta bdd !

Bref, bon travail !



<?php

for($i_months=0; $i_months<12; $i_months++):

	$i_timestamp_months=mktime(0, 0, 0, date('n') + $i_months);
	
	echo '<div style="float: left; width: 100px;">';
	
	echo '<h3>'.date('M', $i_timestamp_months).'</h3>';
	
	$i_num_days_in_month=intval(date('t', $i_timestamp_months));
	
	for($i_days=1; $i_days <= $i_num_days_in_month; $i_days++):       //le premier jour doit etre initialisé à 1 et  l'arrivé doit etre verifiée par un <= sinon il manquera le dernier jour'
	
		$i_timestamp_days = mktime(0, 0, 0, date('n')+ $i_months, $i_days);
	 
		echo '<br /> '.date('j', $i_timestamp_days).' '.date('D', $i_timestamp_days);
	
	endfor;
	
	echo '</div>';

endfor;

?>