[PHP/SQL] Avis pour remplir un calendrier

Avis pour remplir un calendrier [PHP/SQL] - PHP - Programmation

Marsh Posté le 15-02-2005 à 13:29:26    

Salut à tous,
 
après m'être attaqué à la partie statique du calendrier, je me penche sur la partie dynamique.
 
L'idée, c'est d'afficher les infos propres à chaque dates + les infos propres à des évènements dans le calendrier
 
J'ai donc pensé stocker cette info dans deux table distinctes :
 
- une table utilisée pour les infos journalières (héphéméride)(avec comme champs principaux : la date, la fête, si c'est un jour férié, la phase de la lune etc...)
- une table pour les évènements (avec comme champs principaux : la date de début, la date de fin, le type d'évènement, etc...)
 
Maintenant, je me demande quelle est la meilleure manière de récupérer cette info et de la traiter pour l'afficher dans le calendrier.
 
Mon calendier est mensuel : j'afficherais toujours une grille de 28, 35 ou 42 jours (7 * (4 ou 5 ou 6)).
 
Donc actuellement, j'ai dans l'idée :
1. de constituer un tableau $calendrier[icimadate][moninfo]
2. de le remplir en effectuant deux queries sur mes deux tables
3. de l'afficher
 
Un exemple
 
Dans ma table date, j'ai (pour février)
15.02.2005 : PL (pleine lune)
17.02.2005 : Fete nationale
 
Dans ma table evènement, j'ai :
13.02.2005 - 15.02.2005 : Festival de Barbadouis
 
A la fin, dans mon tableau, j'aurais :
$calendrier[20050213]['evenement1'] = 'Festival de Barbadouis'
$calendrier[20050214]['evenement1'] = 'Festival de Barbadouis'
$calendrier[20050215]['evenement1'] = 'Festival de Barbadouis'
$calendrier[20050215]['Lune'] = 'PL'
$calendrier[20050217]['Ferie'] = true
$calendrier[20050217]['Ferie'] = 'Fete Nationale'
 
Et enfin, pour afficher mon calendrier, je fais une boucle qui va de 20050201 à 20050228 et qui teste les éléments de mon tableau calendrier.
 
Conclusion
 
C'est la méthode que je pense être la plus efficace et la moins lourde.
 
Cependant, si quelqu'un a un avis concernant sur la question, une autre suggestion pour aborder le problème, qu'il n'hésite pas (que ce soit au niveau du stockage dans les tables ou dans le traitement php).
 
Merci dans tous les cas à ceux qui ce sont donné la peine de lire ce pavé :)


Message édité par latruffe le 15-02-2005 à 13:30:01

---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
Reply

Marsh Posté le 15-02-2005 à 13:29:26   

Reply

Marsh Posté le 15-02-2005 à 15:47:13    

Personne pour se pencher sur mon cas ? :(
 
Remarquez, le simple fait de l'écrire suffit bien souvent :)


---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
Reply

Marsh Posté le 15-02-2005 à 17:10:54    

Et bien je viens de prendre le temps de lire ce "pavé" comme tu dis et je ne vois pas bien ou tu veux en venir...
 
Este ce que c'est un avis sur ta méthode que tu veux?
Dans ce cas je dirais qu'elle me parait juste mais pour parler de méthode optimale il serait plus judicieux de nous donner du code.

Reply

Marsh Posté le 15-02-2005 à 17:51:38    

j'en suis plutôt à la phase de mise sur papier. je n'attaquerai le code que lorsque tout sera ok de ce coté là.
 
En gros, ma question, c'est comme remplir un calendrier (qui est une succession de date) à partir de tables contenant : soit des dates, soit des intervalles.
 
Mais je comprends que ce soit pas évident de se mettre dans le problème.


---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
Reply

Marsh Posté le 15-02-2005 à 17:52:04    

+1
 
[Edit] Grilled :p


Message édité par esox_ch le 15-02-2005 à 17:52:23

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 15-02-2005 à 18:00:47    

Non mais vous prenez pas la tête en fait :D
 
Comme je l'ai mis plus haut, le simple fait d'avoir mis ça sur le papier suffit à me conforter  :p  
 
(enfin si quelqu'un veut bien me dire comment il organiserait une telle application, je suis preneur quand même :whistle:)


---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
Reply

Marsh Posté le 15-02-2005 à 18:06:21    

latruffe a écrit :

(enfin si quelqu'un veut bien me dire comment il organiserait une telle application, je suis preneur quand même :whistle:)


moi je mettrais tout dans la même table, et pour differencier un 'evenement' d'un 'evenement journalier' je rajouterais un champ type

Reply

Marsh Posté le 15-02-2005 à 18:10:06    

Ca depend de comment tu consideres un evenement comme "Greve de l'entreprise", parceque si tu met tout dans la meme table tu risques d'avoir pas mal de duplicata :p


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 15-02-2005 à 18:11:12    

soju a écrit :

moi je mettrais tout dans la même table, et pour differencier un 'evenement' d'un 'evenement journalier' je rajouterais un champ type


 
Oui, j'y ai pensé. Je l'ai pas fait car ce que j'appelle evènement journalier, c'est plus des infos propres au jour lui même (i.e. qui ne seront pas jamais modifié par l'utilisateur), comme le coefficient de maréé, la phase de la lune, le caractère férié, le nom du saint etc...
 
Mais à la reflexion, tout pourrait rentrer dans une seule table :/


Message édité par latruffe le 15-02-2005 à 18:11:59

---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
Reply

Marsh Posté le 15-02-2005 à 18:12:37    

Comme dit plus haut, faire en 2 tables ça peut etre interessant quand tu as des evenements qui vont se repeter plusieurs fois ... Ou si tu veux faire ton calendrier en multilangue ... 1 table pour le ID des evenement et une table pour les evenement


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 15-02-2005 à 18:12:37   

Reply

Marsh Posté le 15-02-2005 à 18:13:25    

latruffe a écrit :

Je l'ai pas fait car ce que j'appelle evènement journalier, c'est plus des infos propres au jour lui même


oups je n'avais pas tout lu
en effet si tu veux normaliser ta base => 2 tables

Reply

Marsh Posté le 15-02-2005 à 18:14:18    

Non, je n'ai aucune récurrence dans les évènements (les évènements stockés se rapprochent d'une réservation pour un appart).


---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
Reply

Marsh Posté le 15-02-2005 à 18:15:12    

soju a écrit :

oups je n'avais pas tout lu
en effet si tu veux normaliser ta base => 2 tables


 
Oui, on est d'accord : parce que ces champs ne seront jamais remplis pour une réservation (par exemple).


---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
Reply

Marsh Posté le 15-02-2005 à 18:18:10    

Et aussi, si tu veux pouvoir mettre un nombre illimité de notes pour une date (y a rien de plus chiant qu'un prog qui ne conçoit pas qu'on ait plus que 3 choses par jour a faire *regarde méchamment son portable*), c'est clair que faut 2 tables


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 15-02-2005 à 18:22:36    

Et puisque je vous tiens, comment vous feriez pour "remplir" le calendrier...


---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
Reply

Marsh Posté le 15-02-2005 à 18:30:11    

latruffe a écrit :

Et puisque je vous tiens, comment vous feriez pour "remplir" le calendrier...


une moulinette qui va chercher les infos sur certains sites
ou trouver une bd toute faites avec les fêtes et jours fériés  ;)  

Reply

Marsh Posté le 15-02-2005 à 18:44:23    

Dans tous les cas, merci pour vos avis.

Reply

Marsh Posté le 15-02-2005 à 18:52:43    

Dans le 1er cas : Oui mais il a interet a trouver un site XHTML Strict sinon il va s'amuser pour faire un parseur a la main ...


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 15-02-2005 à 18:56:06    

C'était pas clair : quand je dis remplir le calendrier, c'est pas remplir mes tables à partir du WEB mais plutôt remplir mon calendrier à partir de mes tables :D
 
Je vais pas aller courir le WEB pour si peu :)

Reply

Marsh Posté le 15-02-2005 à 19:46:14    

Ok... mais bon de tt facon il existe des listes de toutes les saint machin sur le net ... donc si tout a coup tu te sens en veine de religion :p


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed