Bonjour à tous,
Je suis en train de réaliser une petite application pour gérer des heures de production par projets réalisés.
Et je suis complétement bloqué pour afficher des tableau récapitulatifs.
Voici mes tables:
t_employe: id_employe, nom_employe
t_fiche_heure: id_employe, date_fiche
t_heure: id_projet, id_code_travail, id_fiche_heure, nbr_heure
t_client: id_client, nom_client
t_projet: id_projet, nom_projet, id_client
t_code_travail: id_code_travail, nom_code_travail
Chaque employé renseigne une fiche heure journalière où il mentionne le : le client, le projet, le code travail, et le nombre d'heures réalisées.
Dans une journée un employé est peut être amené à travailler plusieurs fois sur le même projet avec le même code travail à différents moment.
Et plusieurs employés peuvent travailler sur le même projet avec le même code travail.
Je cherche à afficher un tableau sous cette forme:
Voici ma requête:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 SELECT * , SUM( heure.heure_heure ) AS nbrHeureRealisee FROM ( `t_heure` heure ) JOIN `t_fiche_heure` fiche ON `fiche`.`id_fiche_heure` = `heure`.`id_fiche_heure` JOIN `t_employe` employe ON `employe`.`id_employe` = `fiche`.`id_employe` JOIN `t_code_travail` code_travail ON `code_travail`.`id_code_travail` = `heure`.`id_code_travail` JOIN `t_projet` projet ON `projet`.`id_projet` = `heure`.`id_projet` JOIN `t_client` client ON `client`.`id_client` = `projet`.`id_client` WHERE `fiche`.`date_fiche_heure` = '2015-02-09' GROUP BY `heure`.`id_code_travail` , `heure`.`id_projet` , `employe`.`id_employe` , `fiche`.`id_fiche_heure` ORDER BY `client`.`nom_client` ASC , `projet`.`nom_projet` ASC , `code_travail`.`code_code_travail` ASC , `employe`.`nom_employe` ASC
Avec cette requête j'arrive bien à récupérer la somme des heures réalisées par projet et par code travail .
Mais au niveau de l'affichage des données en php c'est une usine à gaz avec des boucles dans tout les sens. (et je n'arrive même pas à afficher un tableau correct).
Je cherche donc à extraire depuis SQL un tableau qui intègre directement les colonnes avec le nom des employés.
Je suppose qu'il faut faire une requête imbriquée en faisant un Select sur l'ensemble des employés mais je n'arrive rien à faire fonctionner.
Si quelqu'un à une idée, ou si vous pensez que je m'y prend complétement de travers pour résoudre ce problème...
d'avance, merci
Partager