Calenrier/Roster

Signaler
Messages postés
3
Date d'inscription
vendredi 14 mai 2010
Statut
Membre
Dernière intervention
17 mai 2010
-
Messages postés
3
Date d'inscription
vendredi 14 mai 2010
Statut
Membre
Dernière intervention
17 mai 2010
-
Bonjour à tous,

je me tourne vers votre communauté pour un problème que certains trouveront surement évidents, mais qui me donne du fil a retordre depuis quelques jours.

Le but est assez simple, creer un calendrier comme celui-ci http://www.societedesmaitresdhotel.fr/agendaglobal.html enfin, sur le même principe (là c'est du flash etc). Mais avec une interface toute simple que je puisse wrapper dans mon cms, genre ça http://www.trucsweb.com/ASP/twCalende.asp

Pour résumer :
J'ai une liste d'utilisateurs, dans ma base de données (d'un CMS joomla).
Chaque utilisateur doit pouvoir depuis son compte définir les jours où il sera disponible.
Depuis un calendrier général, en cliquant sur chaque jour doit s'afficher une liste des personnes disponibles.

Là où je ne vois pas comment faire proprement, c'est que pour moi la solution serait de creer un champs Dispo dans chaque table d'utilisateur, si cette valeur est a 1 le nom est affiché, a 0 non.
Le problème c'est comment avoir cette valeur pour chaque jour ?
Creer des milliers d'entrées pour chaque utilisateur ? jour par jour ? ça me semble assez lourd.

Une idée serait de mettre les gens par défaut disponibles, et qu'ils définissent une plage de jours où ils sont disponibles. ça réduirait déja pas mal le nombre d'entrée...

C'est pas non plus un truc énorme, il y a environ 100 utilisateurs.

Donc, si quelqu'un pouvait m'éclairer sur comment procéder (je demande pas à ce qu'on me mache le travail bien sûr) je serai le plus heureux.

Merci d'avance pour vos réponses.
Cordialement.
A voir également:

3 réponses

Messages postés
2380
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
16
Je ne comprends pas ton expression 'table d'utilisateur'.
Tes utilisateurs doivent être dans une seule table et s'ils ont des informations qui leur sont propres et qui ne sont pas nativement présentes dans Joomla tu crées une, voire deux tables (pour une relation n-m) et avec un système de jointure SQL tu as pu 'relier' les deux informations.
Donc à partir de ce raisonnement tu as la solution suivante:
1. créer une table utilisateur-date_dispo avec pour chaque utilisateur le jour de sa présence
2. compléter au fur et à mesure des informations des utilisateurs
3. retrouver par un SELECT tes utilisateurs présents à telle date.. voire une période.
Qu'en penses-tu ?
S.
Messages postés
3
Date d'inscription
vendredi 14 mai 2010
Statut
Membre
Dernière intervention
17 mai 2010

Bonsoir,
merci pour la réponse, et désolé si je me suis trompé dans les termes, tu as compris le principe mais j'ai du mal a comprendre comment réaliser la 2eme étape concretement.

1 et 3 je sais faire, mais 2 je ne vois pas quelles fonctions/requests utiliser. Petite précision : ca veut dire que ça va creer une table (utilisateur-date_dispo) par utilisateur ? ou bien une table par jour liée a tous les utilisateurs dispos ce jour là ?
dans tous les cas je n'arrive pas à concevoir comment m'y prendre, puisque je ne connais pas assez bien les outils à ma disposition pour le faire en SQL, en analytique ça va.

Encore merci pour cette réponse rapide.
Messages postés
3
Date d'inscription
vendredi 14 mai 2010
Statut
Membre
Dernière intervention
17 mai 2010

Hop petite update,

c'est déja un peu plus clair pour moi sur comment je vais procéder.

Donc, je vais creer une table USER_DISPO avec 3 champs :
id_event, id_user et id_date

A chaque fois qu'un utilisateur cliquera sur un jour dans son calendrier perso, un event sera créé en incremental avec son ID d'utilisateur et la date sur laquelle il a cliqué.

Suffit ensuite de faire effectivement un SELECT par date pour afficher tous les ID qui ont un event pour telle date.

Du coup j'aurai vraiment besoin d'aide pour savoir quelles fonctions utiliser pour faire ça :

- Quand l'utilisateur utilise un calendrier dans son espace perso du CMS, comment faire pour que le calendrier aille chercher son Id ? (j'imagine que c'est un fetch ? :s je sais pas)

- Si l'utilisateur clique sur une date ça enregistre l'event. Mais si il reclique j'aimerais que ça supprime l'event précedement créé. (j'imagine qu'il existe des sortes de controles en php ?)

- Visuellement, griser les cases du calendrier ou un event est créé.


Je suis désolé pour les tartines, mais je suis vraiment perdu. Encore merci d'avance pour les réponses

-