UN CALENDRIER SOUS LA FORME D'UN TABLEAU

dark_nemo Messages postés 16 Date d'inscription mardi 18 novembre 2003 Statut Membre Dernière intervention 23 septembre 2010 - 13 mars 2009 à 12:31
 Almay - 26 mars 2015 à 19:23
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/49487-un-calendrier-sous-la-forme-d-un-tableau

Merci beaucoup, j'en avais besoin pour un projet
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
17 mai 2010 à 17:48
chouette comme calendrier à mettre dans une div
border:5px solid #EFF3FF;

-moz-border-radius: 8px;
-webkit-border-radius: 8px;
border-radius: 8px;
-webkit-box-shadow:5px 5px 5px black;
-moz-box-shadow:5px 5px 5px black;
box-shadow:5px 5px 5px black;
lullaby08 Messages postés 1 Date d'inscription dimanche 12 avril 2009 Statut Membre Dernière intervention 11 avril 2009
11 avril 2009 à 18:13
Il marche parfaitement de mon côté... Par contre il serait possible de modifier les dates en évenement en changeant la couleur des dites "dates évenements" ??
griffondorr Messages postés 427 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 4 mai 2009
3 avril 2009 à 11:31
bon début pour cette source et a améliorer ;)
d54 Messages postés 5 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 23 mars 2009
16 mars 2009 à 17:40
Arf. Très drole.
C'est moi qui l'ai fait, et je peut te garentire qu'il n'y a pas de virus dedant.
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
13 mars 2009 à 13:16
Je vais être un peu critique bien que globalement le code est pas mal mais il y'a quelques petites choses qui me titillent.

1/ Concevoir ton calendrier dans une classe aurait été beaucoup plus pertinent car actuellement ton code n'est pas véritablement réutilisable... L'idéal serait de faire une classe Calendar et de l'appeler de cette manière :

$calendar = new Calendar($_GET['m'], $_GET['y']);

echo $calendar->render(); // Génère le tableau

// ou

echo $calendar; // si ta classe implémente la méthode __toString()

2/ Pour gérer les dates, préfère les fonctions natives de PHP comme strtotime... Tu t'embêtes à tester quel jour, quel mois et quel année on est pour pouvoir en déduire les suivants et précédents. Pour avoir le mois suivant, je fais simplement :

$timestamp = mktime(0,0,0,date('m'), 1, date('Y')); // premier jour du mois courant
$suivant = date('m', strtotime('+1 month', $timestamp)); // numéro du mois suivant

Encapsule tout ça dans une classe en sortant les $_GET à l'extérieur de la classe bien sûr. Au final ce sera beaucoup plus réutilisable que maintenant mais aussi testable unitairement avec PHPUnit ou Lime ;)

++
dark_nemo Messages postés 16 Date d'inscription mardi 18 novembre 2003 Statut Membre Dernière intervention 23 septembre 2010
13 mars 2009 à 12:31
Bon je me lance dans un petit commentaire.
J'ai juste effectué une lecture rapide sans le tester.
C'est pas mal comme source mais j'pense que tu devrais vérifier le format de $_GET['m'] et $_GET['y'].
Vérifier que $_GET['m'] est bien un mois et $_GET['y'] une année valide sinon ça risque de planter ton mktime
Rejoignez-nous