Bonjour,

Je développe une application simple de gestion des heures supplémentaires.
J'ai une table "horaires" qui recense pour chaque personne la date, l'heure supplémentaire, et l'heure récupérée.
Pour faire simple, j'ai donc 4 champs (en plus de l'id de l'utilisateur) :
id | date | heure_supp | heure_recup
2 | 2010-09-01 | 01:00:00 | 00:00:00 (l'utilisateur 2 a eu droit à 1h supp)
2 | 2010-09-02 | 01:30:00 | 00:00:00 (l'utilisateur 2 a eu droit à 1h30 supp)
2 | 2010-09-03 | 00:00:00 | 01:00:00 (l'utilisateur 2 a récupéré 1h)
2 | 2010-09-04 | 00:30:00 | 00:00:00 (l'utilisateur 2 a eu droit à 30min supp)
2 | 2010-09-10 | 02:30:00 | 00:00:00 (l'utilisateur 2 a eu droit à 2h30 supp)
J'aimerais connaître le nombre total d'heures supplémentaires et d'heures récupérées pour l'utilisateur 2.
Pour cela, j'ai pensé à une simple addition des temps au format timestamp, mais je ne retombe pas sur mes pattes.
Les champs heure_supp et heure_recup sont de type TIME en base, je procède comme suite.
Pour chaque heure supp récupérée dans la base
convertir en timestamp [avec la formule date('H:i:s', mktime(Heu, Min, Sec, Mois, Jour, Année))]
additionner avec le timestamp précédemment stocké au format timestamp
stocker la nouvelle valeur
Fin
Ensuite, je repasse au format H:m:s la valeur finale stockée, avec la formule date('H:i:s', mktime(Heu, Min, Sec, Mois, Jour, Année)).
Sauf que je n'obtiens pas le résultat attendu.
Voici un code test qui permet de rajouter une durée de 2h45 à une heure de début. L'heure de fin devrait être 12:45:00
<?php
$heure_debut = "10:00:00";
$hDebut = explode(":", $heure_debut);
$duree = "02:45:00";
$duration = explode(":", $duree);

$heure_fin = date('H:i:s', mktime($hDebut[0], $hDebut[1], $hDebut[2], "05", "22", "2010") + mktime($duration[0], $duration[1], $duration[2], "05", "22", "2010"));
echo "HEURE DE DEBUT : $heure_debut<br>" .
"DUREE : $duree<br>" .
"HEURE DE FIN : $heure_fin<br>";
?>
J'obtiens 02:16:44 au lieu de 12:45:00
Pourriez-vous m'aider ? Merci.