Einzelnen Beitrag anzeigen
  #5  
Alt 06.01.2006, 13:14:43
Benutzerbild von Matt
Matt Matt ist offline
Member
 
Registriert seit: Mar 2002
Ort: Port 80, localhost-city, 127/0/0/1
Beiträge: 878
AW: Auftragsarbeit Stempeluhrauswertung

Also prinzipiell fände ich es auch vieeel schlauer, wenn du die Überstunden nicht in stunden und minuten speichern würdest sondern nur in Minuten.
Denn die Minuten kannst du dann einfach addieren, dividierst durch 60 und rundest ab und schon hast du die stunden. Die überzähligen minuten bekommst du dann mit einem Modulo 60.

in code sieht das ungefähr so aus:

Code:
 $ueberMinuten=getUeberminuten() //gibt dir beispielsweise die Überstunden eines bestimmten Mitarbeiters in dem monat in minuten zurück. 
 $stunden=(int)$ueberMinuten/60; 
 $minuten=$ueberMinuten%60; 

print "Überstunden: $stunden h, $minuten min";
Wenn du die Überminuten errechnen willst musst du auch nur

eine SQL Query in der form machen:

select sum(uebermin) from ueberstunden where mitarbId='12' and datum>=20060101 and datum <=20060105;

Das gibt dir als resultat ein feld aus, in dem die summe der überminuten für den bestimmten benutzer Damit machst du das oben genannte und fertig.

Wenn jemand seine überstunden in dein formular eingibt, rechnest du das in überminuten um (überstunden*60 + überminuten) und speicherst das für den bestimmten tag in deiner datenbank.
Mit Zitat antworten