Bonjour,
J'ai besoin de calculer une "durée calculée" à partir d'une durée et d'un coefficient.
Seul petit problème dans ma base de données ma durée est en vachar ce qui pose un petit problème pour calculer la "durée calculée". (mon coefficient est de type float)
C'est pour ca que j'ai réalisé ce petit algo, cependant dans certains cas de figure il ne marche pas tout a fait et je n'arrive pas à l'améliorer.
Est ce que quelqu'un aurait l'amabilité d'y jeter un coup d'oeil et de m'aider à le perfectioner ?
Je vous remercie d'avance, c'est un point capital dans mon projet.
Algo :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 <? // Les noms de variables ne sont pas tres significatives, désolé ... $Amp = $duree; // $duree = heure à multiplier ! $Hc = explode(":", $Amp); $Heure1 = $Hc[0]*60; $Minute1 = $Hc[1]; $Total1 = $Heure1+$Minute1; $Total2 = $Total1*$coefficient; // $coefficient= coefficient de multiplication ! $pt = '.'; if ($Total2>=60){ $Total3 = $Total2/60; $compt = substr_count($Total3, $pt); if ($compt>0) { $Hc1 = explode(".", $Total3); $Heure2 = $Hc1[0]; $Minut2 = substr($Hc1[1], 0, 2); $Minute2 = ($Minut2/100)*60; $compt2 = substr_count($Minute2, $pt); if ($compt2>0) { $Minute3 = explode(".", $Minute2); $Minute4 = $Minute3[0]; if ($Minute4<10) { $Minute4 = '0' . $Minute4; } } else { $Minute4 = $Minute2; } $Total5 = $Heure2 . ':' . $Minute4; } else { $Total5 = $Total3 . ':0'; } } else { $compt3 = substr_count($Total2, $pt); if ($compt3>0) { $Minute5 = explode(".", $Total2); $Total5 = '0:' . $Minute5[0]; } else { $Total5 = '0:' . $Total2; } } // Faire un echo de $Total5 pour avoir la valeur finale ! ?>
Partager