Salut J'ai lu beaucoup de sujets récurrents, mais toujours aucune idée sur la façon d'implémenter cette logique dans mon application de calendrier. J'ai ce tableau:Événement récurrent
id | title | start | end | recurring
1 | test1 | 2011-07-25 08:30:00 | 2011-07-25 10:30:00 | day
2 | test2 | 2011-07-26 08:30:00 | 2011-07-26 10:30:00 | week
3 | test3 | 2011-07-26 08:30:00 | 2011-07-26 10:30:00 | month
4 | test4 | 2011-07-26 08:30:00 | 2011-07-26 10:30:00 | year
Lorsqu'un utilisateur voir le calendrier, j'ai les paramètres envoyés à une URL pour récupérer les données de la base de données. Par exemple:
Vue du mois: http://www.domain.com?start=2011-07-01&end=2011-07-31
Vue de la semaine: http://www.domain.com?start=2011-07-25&end=2011-07-29
Ce que j'est ce jusqu'à présent:
SELECT * CASE recurring WHEN "day" THEN IF(DATE_FORMAT(CURDATE(),"%j") = DATE_FORMAT(e.start,"%j"),1,0) WHEN "week" THEN IF(DATE_FORMAT(CURDATE(),"%w") = DATE_FORMAT(e.start,"%w"),1,0) END FROM event;
Il peut récupérer qu'une seule fois ... mais si Je vois le calendrier pour la semaine prochaine 2011-08-01 au 2011-08-05, ça ne marchera pas.
Ma question est, comment puis-je récupérer les événements récurrents en fonction des paramètres d'URL? Toute aide et conseil est grandement appréciée. PS: J'ai trébuché sur ce fil: PHP 5.3 DateTime for recurring events et il semble proche de ce dont j'avais besoin mais juste que je ne peux pas comprendre dans mon cas comment l'implémenter dynamiquement avec mes dates de début et de fin.
pourrait être une bonne idée de nous montrer un code que vous utilisez actuellement pour extraire des données de votre base de données. –
Que signifie la date de fin? Que par la suite, la date récurrente n'est plus récurrente? Comment savez-vous qu'un événement récurrent n'est plus récurrent? Je ne pense pas que votre conception actuelle puisse traiter la récurrence dans les événements de manière appropriée. – Jacob
Je voudrais éditer votre question pour inclure ce code afin que d'autres le voient tout de suite. –