Tutoriel MySQL/PHP : Créer un Calendrier 4/3
Вставка
- Опубліковано 20 вер 2024
- Article ► grafikart.fr/t...
Abonnez-vous ► bit.ly/Grafika...
Dans ce dernier chapitre je vous propose de corriger un bug présent dans notre système de calendrier. En effet lorsque l'on se rend sur le mois de décembre, le nombre de semaine affiché n'est pas correct. Cela est dû à la manière de calculer le nombre de semaines qu'il y a dans un mois. Ensuite, nous verrons comment nous pouvons simplifier certaines manipulations sur les dates en utilisant les objet [DateTimeImmutable](secure.php.net....
Soutenez Grafikart:
Devenez premium ► grafikart.fr/p...
Donnez via Utip ► utip.io/grafikart
Retrouvez Grafikart sur:
Le site ► grafikart.fr
Twitter ► / grafikart_fr
Discord ► grafikart.fr/t...
Salut,
Rien à dire comme d'habitude, un Grand Merci à vous, çà fait maintenant que chaque Mercredi il y a un nouveau tutoriel,
Merci à vous;
I like your method, to resolve problems!! Great Sir!
Merci pour ce bugfix et l'exploitation des DateTimeImmutable. Tu as traité le bug quand la dernière semaine de la fin d'année est égale à 1 mais pas quand la première semaine de l'année est égale à 53. Janvier 2021. Par contre, je sais maintenant pourquoi j'aime tant mon framework symfony. Pour essayer la version 4, je me suis tapé le tuto en Sf 4 ;)
salut , oui faut : $end = $start->modify('+1 month'); et ça report à Janvier 2022
donc pareil +7 day .. tout ça à cause de février ...
Le code ne fonctionne pas pour 01/2024, les 29-30-31 ne sont pas affichés.
Bonjour Grafikart, tout d'abord bravo pour tes tutos, j'apprends tout plein de choses excellentes. Voilà, soit j'ai mal fait ton dernier tuto sur le calendrier, soit il y a un ultime Bug. Je m'explique. Dans le mois de Juin 2020. Tout s'affiche correctement excepté que le comptage des jours s'arrête à 28. en fait le code affiche dans le mois précédent de lundi à vendredi ( Vérifié sur le calendrier de Windows). Autre exemple en Février 2021, la semaine du mois précédent s'affiche bien de Lundi à Dimanche. Et le comptage des jours s'arrête à 21. Donc la sixième ligne d'affichage n'est pas gérée aussi bien pour Juin 2020 et Février 2021. Dois je en déduire que chaque fois qu'il il y a un mois ou la première semaine qui rempli toute la première ligne. Ou alors, j'ai peut être oublié une virgule quelque part comme on dit dans le jargon des programmeurs.
Excellent tutoriel ! Merci à toi :)
Bonjour, merci énormément pour tous les tutos... Mais est-ce la même méthode pour afficher tout le calendrier en fonction du mois? Au lieu d'afficher du lundi au vendredi, on affichera du 1er au 30e
cool grafikart vraiment un grand merci
great job as always! :)
Salut Grafikart, tout d'abord je vous remercie pour vos vidéos j'ai tellement apprit avec vous, je voulais vous demander si c'est possible de nous faire un tuto sur API Platform ou GraphQL, encore merci :D
Ouaiiis :D en plus maintenant API platform support GraphQL
There is something missing in "getWeeks" method, chekout January 2021..
Il manque un bout de code dans la méthode "getWeeks", regadrer au niveau de Janvier 2021
to solve the problème I just add after " $end = $end = (clone $start)->modify("+1 month -1 day") " :
Pour regler le problème j'ai ajouter ça après " $end = $end = (clone $start)->modify("+1 month -1 day") " :
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
if ((intval(date('t', strtotime($start->format("Y-m-d")))) % 7) === 3) {
$end = (clone $start)->modify("+1 month");
}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Thx a lot for this solution ! I didn't know how to correct it
Without your code, if January starts on a Friday then the month ends on the 24th, otherwise if it starts on a Saturday it ends on the 30th and if it starts on a Sunday it ends on the 31st.
And with your code, the problem is solved for the months which start on a Friday but for the others it does not work. How to solve this problem ?
And yout code create a problem, like July 2022, it has a useless week.
PS: if you're french please to respond in french because i'm french x)
@@dug_amann Réponse :
$end = (clone $start)->modify('+1 month -1 day');
if ($end->format('D') === 'Sun' && $end->format('m') === '01')
{
$end = (clone $start)->modify("+1 month");
}
if ($end->format('D') === 'Sun' && $end->format('m') === '01')
{
$end = (clone $start)->modify("+1 month");
}