Tableau de permanence

Résolu
atchoumen Messages postés 117 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 17 avril 2008 - 3 mai 2006 à 22:30
atchoumen Messages postés 117 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 17 avril 2008 - 5 mai 2006 à 13:13
Bonjour,

Alors je me trouve confronté à un probleme c'est pour cela que je sollicite votre aide. Je suis en train de faire un tableau avec en abisce les jour de la semaine (lundi au dimanche) et en ordonnée les heures (de 9h00 à 17h30). Le principe et que lorsque une personne est de permanence sa zone dans la semaine sois rempli d'une couleur et des que ca en est une autre la zone sois également rempli mais d'une autre couleur. Enfin en bas de page un carré comportant les couleurs de chaque personne avec leur nom a coté.
Pour l'instant jétais partit en mettant en base les jour avec toutes les tranches horaires possible mais ca devient une usine a gaz.
Si quelqu'un avait donc une solution ou au moins la méthodologie ca m'aiderai fortement

merci

8 réponses

cs_spyro666 Messages postés 137 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 28 août 2007
5 mai 2006 à 08:54
En fait si j'ai bien compris le principe la solution la plus simple serais de créer 2 tables :

|permanent |
|id_permanent|
|nom_permanent|

|permanence|
|ce_id_permanent|
|heure_permanence|
|date_permanence|

avec ces tables tu prend genre la dernière semaine entrée grâce à une requête SQL qui ne prend en compte que les enregistrements avec un timestamp supérieur à celui de lundi 0h00 de la semaine en cours (pour justement afficher une semaine).

Ensuite avec les données tu fais ton tableau ligne par ligne (ça sur le coup je ne vois pas comment faire j'avoue ^^').

J'éspère avoir pu t'aider dans ta quêtes du programme des permanence ;)

Spyro666 contre le 555
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 mai 2006 à 09:17
Hello,

trop peu d'infos.
Tu sors d'où les permanences par personne ? Tu génères comment ton tableau ?
atchoumen Messages postés 117 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 17 avril 2008
4 mai 2006 à 10:56
Oupss désolé pour le peu d'info,

Pour l'instant le tableau est en dur, les informations des personnes proviennent de la base de donnée. Pour chaque jour j'ai crée un champs matin et apres-midi ( LUNDI_AM et lundi_AP, etc...). Les horaires des permanence sont séparé par un - (ex:: 10h00 - 12h00).
Pour l'affichage des resultats dans le tableau je traite cas par cas, c-a-d que par exemple je regarde avant le nombre avant le h (ex 10 pour 10h00) apres je regarde apres le h si c'est 0 ou 30. Dans mon tableau chaque heure contient 2 cellule pour pouvoir afficher les demi-heure. Une fois que je connais l'heure de la personne, si c'est 10h00 je met les deux cellule en rouge, si il finit a 10h30 je met la 1 cellule en rouge et si il commence a 10h30 je ne met que la deuxieme cellule en rouge.

Je pense que ce que je suis en train de faire et plutot lourd et fastidieux et qu'il doit y avoir certainement une solution plus facile.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 mai 2006 à 16:47
Sans aucun doute lol.
Mais c'est trop imprécis pour t'aider (ce n'est pas de ta faute...un code serait trop long de toutes façons).
Il faudrait sans doute revoir la structure de ta base, déjà.
Ensuite, je ne sais pas...c'est juste une initialisation de CSS à partir de données extraites de ta base, finalement.
Si chaque cellule (chaque 30mn) a une classe, et que cette classe est définie par l'id de ton utilisateur, et par le créneau horaire...
Chais pas, à brûle pourpoint, je pense que je tenterai un truc du genre :
une table jours (luni Am, lundi PM, etc...et id_jour évidemment), une table heures qui part de 9h jusqu'à 17h30, de 30mn en 30mn, converties en timestamp à partir de minuit (par exemple), et un id.
Pour les utilisateurs, un id_jour, id_heure_debut (id_heure), un id_heure_fin (id_heure), par exemple. Voire 2 tables heures en fait pour garder la cohérence des id.
Et une couleur...(code html par exemple)

Et ton tableau html, les <tr> auront l'id jour correspondant (si j'ai bien lu), les td dans les tr, les id_heure correspondants (à ceux de ta base).
Et tes classes deviennent simple : tr#id_jour td#id_heure {background-color: user_couleur;}

un truc dans le genre. En très très vague hein.

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
atchoumen Messages postés 117 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 17 avril 2008
4 mai 2006 à 16:57
Lol c'est clair que ca reste assez vague en faite. Je vais suivre tes conseils en faisant deux tables ca devrait déjà etre plus simple. Et puis jvais prendre mon mal en patience jusqu'a trouver la solution.

Merci pour ton aide.
atchoumen Messages postés 117 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 17 avril 2008
5 mai 2006 à 10:46
Franchement tu m'enleves une épine du pied c'est clair que ta solution parait carrement plus simple et surtout plus logique.

Merci de ton aide
cs_spyro666 Messages postés 137 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 28 août 2007
5 mai 2006 à 13:11
De rien, tu pourrais encore accépté? Merci et bonne journée.

Spyro666 contre le 555
atchoumen Messages postés 117 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 17 avril 2008
5 mai 2006 à 13:13
Voila qui est fait :-)
Rejoignez-nous