læg sammen og ret en lille fejl
**alt ære til Zynzz, mht. koden**<?
include("db.php");
function regnTIDER($startMIN, $startTIME, $slutMIN, $slutTIME, $dag, $maaned, $aar, $helligdag){
$dagUNIX = mktime (0, 0, 0, $maaned, $dag, $aar); // Unixtime for starten af dagen
$startUNIX = mktime ($startTIME, $startMIN, 0, $maaned, $dag, $aar); // Unixtime for start af arbejde
$slutUNIX = mktime ($slutTIME, $slutMIN, 0, $maaned, $dag, $aar); // Unixtime for slut af arbejde
$arbejdsTID = $slutUNIX-$startUNIX; // Finder arbejdstid ialt
$startKLOKKEN = 8*3600; // Sekunder til kl. 8
$slutKLOKKEN = 16*3600; // Sekunder til kl. 16
if($helligdag == 1 OR date("w", $dagUNIX) == 0 OR date("w", $dagUNIX) == 6){ // Tjekker om det er en helligdag eller bare lørdag-søndag
$arbejdsTIDvis = $arbejdsTID/60/60;
return "0-". $arbejdsTIDvis; // Tetunere tid
}
if($helligdag != 1 OR date("w", $dagUNIX) != 0 OR date("w", $dagUNIX) != 6){ // Tjekker om det er en helligdag eller bare lørdag-søndag
$overARBEJDEstart = ($dagUNIX+$startKLOKKEN)-$startUNIX;
$overARBEJDEslut = $slutUNIX-($dagUNIX+$slutKLOKKEN);
$overARBEJDE = $overARBEJDEstart + $overARBEJDEslut;
$normalARBEJDE = $arbejdsTID-$overARBEJDE; // Finder normal arbejdstid
if($overARBEJDE > 0){
$normalARBEJDEvis = $normalARBEJDE/60/60;
$overARBEJDEvis = $overARBEJDE/60/60;
return $normalARBEJDEvis."-".$overARBEJDEvis; // Retunere tid
}
if($overARBEJDE <= 0){
$arbejdsTIDvis = $arbejdsTID/60/60;
return $arbejdsTIDvis."-0"; // Retunere tid
}
}
}
$query = mysql_query("SELECT * FROM timereg") or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
// Tester lige
$id = $row['id'];
$startMIN = $row["start_min"];
$startTIME = $row["start_time"];
$slutMIN = $row["slut_min"];
$slutTIME = $row["slut_time"];
$dag = $row["dag"];
$maaned = $row["maaned"];
$aar = $row["aar"];
$helligdag = $row["hellig"];
echo regnTIDER($startMIN, $startTIME, $slutMIN, $slutTIME, $dag, $maaned, $aar, $helligdag);
echo "<br>";
}
?>
------
Jeg kan Dælme' ikke finde ud af at få lagt normaltid sammen til et Ialt. Uden for while. det samme gælder overtid.
desuden trækker den en time fra overtiden vær gang du kommer en time under 16:00.
dvs. alt inden 8 er over arbejde. så hvis du arbejder fra 7-15
skulle du have 1 overtime + 7 normaltimer. men den skriver bare 8 normaltimer.
