Bonjour,
Dans le cadre d'une application web que je dois faire et qui consiste à informatiser un travail qui à la base est fait sur papier, je cherche à générer à l'aide de php un tableau html mais il me manque une étape que je n'arrive pas à résoudre et j'aurai besoin de votre aide. Alors voila, je pars d'un formulaire qui permet de rentrer les heures d'ouvriers et de les enregistrer. J'enregistre les heures individuellement même si il doit y avoir plusieurs entrées dans la bdd qui possèdent le même jour. Ainsi je peux faire des calculs dessus en faisant des totaux etc… Puis à la récupération un petit script me permet d'avoir les heures sous forme d'array où la clé contient la date et la valeur : un array avec les heures effectuées comme ceci :
Mon but, c'est de convertir ce tableau en un autre array qui ressemble à ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php $heures = array( '2013/07/01' => array( 'chantier' => 6.5, 'chantier' => 0.5 ), '2013/07/02' => array( 'vacances' => 7.0 ), 'etc ' => );
La clé 0 représente les jours du mois (de 0 à 29 ou 31), les prochaines clés (ci-dessus la 1 et 2) représentent les heures de chantier puis vient les dernières clés qui sont des strings et qui représente les types d'heures.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <?php $heures = array(0 => array('1', '2', '3', '4', '5'), 1 => array('7.0', '3.5', '6.5','', '2.0'), 2 => array('', '3.5', '', '', '4.0'), 'maladie' => array('', '', '', '', ''), 'atelier' => array('', '', '0.5', '', '6.0'), 'vacances' => array('', '', '', '7.0', '') );
Petite explication sur le tableau, si il y a plusieurs clés numériques pour les chantiers c'est parce-que les ouvriers en font des différents dans la journée. Donc comme vous pouvez le voir ça s'additionne, par exemple dans le tableau de la clé 1 (toujours dans l'array ci-dessus) on peut voir qu'en 2ème position (qui est en 2ème position parce-que l'ouvrier a fait ces heures le 02 du mois aussi représenté dans la clé 0) il n'y a que 3.5 heures et que dans la clé 2 il y a à la même position de nouveau 3.5 heures donc 7 heures mais il a fait 2 chantiers différents.
C'est ainsi que fonctionne le tableau, et c'est grace à cet array que je peux convertir les key et les valeurs en cellules html. Mais... Impossible de trouver comment faire pour passer du premier array au deuxième qui est exploitable pour la conversion en tableau, j'ai déjà penser passer par une boucle qui tournera autant de fois que les jours du mois mais après comment séparer les valeurs d'un array (exemple array 1) pour les réinsérer en plusieurs niveaux dans un autre array. C'est un véritable casse - tête et je commence à perdre le fil.
J'ai cette contrainte de devoir fournir le même tableau qui est actuellement sur papier et remplit à la main.
Pouvez vous m'aider à trouver une méthode pour arriver à mon but ? Une explication, des idées, des fonctions… tout !... Je prend ce qu'il vient. Si jamais vous avez besoin de plus de précision, n'hésitez pas.
Je vous remercie d'avance.
Partager