Le but est de créer un planning pour des employés qui travaillent pour des clients.
La base de données est oracle et le code sera en html,php,java/ajax(jquery).
Je pense m’orienter sur une table planning avec cette structure.
- id_plannig - INTEGER
- id_emplye - INTEGER
- DATE_heure_debut - Datetime
- DATE_Heure_fin - Datetime
- Id_activite
- id_client
Avec cette structure je peux poser par exemple une activité sur plusieurs jours sans avoir autant de lignes que de jours ou deux activités sur la même journée.
Mais je ne sais pas quoi positionner comme clef primaire/index sachant que je ne dois pas avoir deux activités qui se chevauchent dans le temps. la clef id_plannig ne sera utile je pense que pour les update sur la table.
Mon autre interrogation est sur l’affichage. Celui-ci doit se faire à la semaine. Je pensais gérer cela avec un crossjoin entre la table planning et une table de référence contenant tous les jours de l’année. Mais plusieurs problèmes se posent. Je vais être obligé dans cette table d’avoir toute les jours pour chaque année car il n’y a pas le même nombre de jours chaque année (années bissextiles). Ou peut etre y a t il une autre méthode l'utilisation de from dual est elle possible pour ne pas avoir a créer une table de référence?
Le cross join me permet de générer de la donnée même si l’activité n’est pas encore créer et de ce fait gérer l’affichage dans ma requête sql. Je n’ai plus qu’a faire une boucle sur les données renvoyées.
L’autre solution que je vois et de gérer l’affichage dans le code php. Je récupérer les activités de la semaine X et j’affiche une activité ou rien pour chaque jour de la semaine sélectionnée. Je n’ai pas beaucoup d’expérience mais il me semble que c’est plus lourd à gérer comme cela générant plus de code.
J'ai donc besoin de vos avis, conseil et experience afin de partir sur quelque chose de cohérent.
D’avance merci pour vos retours.
Partager