Permalänk
Medlem

Skiftschema php

Hejsan.
Jag ska börja jobba 4-skift inom kort och skulle behöva lite hjälp med att skapa ett script som låter mig se hur jag jobbar tex vecka 40.

<?php if($_POST['submit']) { if(empty($_POST['skift'])) { echo "ange vilket skift du jobbar nu" exit; } if(empty($_POST['vecka'])) { echo "ange vecka" exit; } $skift = $_POST['skift']; $vecka = $_POST['vecka']; //echo "$skift $vecka"; $datum = date("w"); //echo $datum; $veckorkvar = $vecka - $datum; //echo "<br />$veckorkvar"; } ?>

Och där tog det slut med mina kunskaper :D. För att ni som inte har jobbat 4-skift ska förstå vad det är jag vill så kan vi säga såhär
vecka
1 jobbar jag dag
2 jobbar jag kväll
3 jobbar jag natt
4 är jag ledig.
Sedan börjar det om.

om jag då vill veta hur jag jobbar vecka 30 tex hur bör jag göra då?
Som ni ser så har jag börjat med att ta den nuvarande veckan - $veckor för att få ut hur lång tid det är kvar tills det är $vecka. Hur gör jag så att php räknar till 4 och sedan börjar om eller vad man ska säga? Finns det någon fiffig lösning?
Jag är nybörjare på php och förhoppningsvis så finns det en fiffig lösning eller så har jag hjärnsläpp för det känns som om att det inte borde vara så svårt.

Tack på förhand.

Visa signatur

"With a rubberduck one's never alone"

Permalänk
Medlem

Kolla in modulus på http://se2.php.net/operators.arithmetic i php så använder du % som operator... Om du tar vecko-nummer % 4 så kommer varje shift ge ett särskilt svar... skriv ut vad vecka mod 4 blir för en massa veckor så ser du ett samband, matcha detta mot vilka skift du går... Med en switch-sats så blir det nog ganska snygg kod också... Ganska lämpligt nybörjarövning tycker jag, fråga om du behöver mer hjälp!

Permalänk
Glömsk

$week_type = ($week_num - ($STARTWEEK - 1)) % 4 + 1;
$STARTWEEK är veckonummret din arbetsperiod börjar.
$week_num är veckonumret du är intresserad av.

Exempel:

Om du börjar jobba vecka 3, och du jobbar dag vecka 3, så kommer $week_type att vara 1. Om $week_type är 3, jobbar du natt. Allt efter den här tabellen:

1 jobbar jag dag 2 jobbar jag kväll 3 jobbar jag natt 4 är jag ledig.

Kanske hjälper.

Visa signatur

...man is not free unless government is limited. There's a clear cause and effect here that is as neat and predictable as a law of physics: As government expands, liberty contracts.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Psionicist
$week_type = ($week_num - ($STARTWEEK - 1)) % 4 + 1;
$STARTWEEK är veckonummret din arbetsperiod börjar.
$week_num är veckonumret du är intresserad av.

Exempel:

Om du börjar jobba vecka 3, och du jobbar dag vecka 3, så kommer $week_type att vara 1. Om $week_type är 3, jobbar du natt. Allt efter den här tabellen:

1 jobbar jag dag 2 jobbar jag kväll 3 jobbar jag natt 4 är jag ledig.

Kanske hjälper.

Jodå, det hjälpte men den tar ingen hänsyn till vilket skift jag jobbar den här veckan och sedan ränkar ut det. Eftersom att jag har kompisar som ska gå i någon av dom andra skiftgrupperna och dom vill också kunna ta del av den här.

Dvs att om jag jobbar dag den här veckan så jobbar jag natt om 3 veckor.
men om jag däremot jobbar kväll den här veckan så kommer jag att vara ledig om 3 veckor.

Jag kanske förklarar dåligt

Visa signatur

"With a rubberduck one's never alone"

Permalänk
Medlem

Är det inte såhär du vill ha det?
http://skorpion.se/nulleman/project/148/file/easyscript.php?i...
btw, lånade psionicist kod

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av skorpion
Är det inte såhär du vill ha det?
http://skorpion.se/nulleman/project/148/file/easyscript.php?i...
btw, lånade psionicist kod

inte riktigt, utan såhär http://skift.apakossa.org men koden kan jag nog bara modifiera.. Är på jobbet så jag kan inte göra det nu men tack för hjälpen!

Visa signatur

"With a rubberduck one's never alone"