hjælp til opbygning af db baseret side

Tags:    mysql php

Hej
Står overfor mit første større mysql projekt, så ville høre om der var nogle af jer der havde et par små fifs til den bedste måde at gøre det på.

Skal lave en side hvor ansatte kan gå ind og registere hvor mange timer de har været på arbejde de forskellige dage i løbet af en måned.

De får hver deres brugernavn til at logge ind på siden.

Men mit problem består i at alle månedsdage skal dukke op på siden når de logger ind, og så kan de så registere deres data de dage de ønsker. Men hvordan opbygges det mest simpel, så scriptet finder ud af hvilke dage der ikke er registeret endnu i databasen.

Et cronjob til hver den første at smide alle datoer fra måneden ind i databasen, med en række til hver dato til alle brugere?



9 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Hvorfor skal dagene oprettes løbende? Hvorfor ikke bare vise en uge- eller månedskalender med default på dagsdato? Klikker de så på en dag, så viser du et indtastningsbillede hvor de kan taste det de ønsker og trykker gem. Så gemmer du registreringen i en database.

Jeg ville nok også bare lukke for indtastning på de dage som er før dagsdato og slet ikke kigge på timerne, når det skal være så simpelt.



Det er ikke nødvendigvis en lille opgave.

Skal de kun registrere timer eller også fravær? Hvad med helligdage, skal systemet selv finde ud af at der ikke skal registreres der? Skal man ikke kunne registrere fravær frem i tiden, f.eks. 3 ugers sommerferie i næste måned?

Har de individuelle arbejdstider og skal du validere på om de husker at registrere timerne?

Hvad skal data bruges til? Skal de overføres til et lønsystem eller skal kunder faktureres ud fra timerne?

Der er mange ubekendte og det må være oplagt at der laves en kravspecifikation til opgaven inden du går i gang.



De skal selv registere alt, og ikke frem i tiden, dvs har de haft fri, sygdag osv skal de også registere dette, og de har alle individuelle arbejdstider, men alt dette tror jeg at jeg har styr på.

Eneste jeg ikke har helt styr på (tror jeg) er hvordan jeg skal få scriptet/db'en til at holde styr på hvilke dage der er blevet registeret hos de enkelte, og hvilke der mangler i en given måned.

Og det skal sådan set bare bruges til at chefen kan hive data ud om de forskellige ansatte og se hvordan de forskellige ansattes måneder er forløbet.



Mht. til fravær skal du lave en tabel med fraværskoder f.eks.:

10 - Egen sygdom
20 - Barn syg
30 - Tandlæge
40 - Ferie
osv. osv.

Når de så registrerer fravær, skal de kun have mulighed for at vælge fraværskoderne i f.eks. en dropdown-liste.

Mht. timerne, så forestil dig følgende:

Medarbejder nr. 1 har følgende arbejdsuge

Mandag til torsdag fra 08.00 til 16.00
Fredag fra kl. 08.00 til 15.00

Medarbejder nr. 2 har følgende arbejdsuge
Mandag til torsdag fra 08.00 til 14.00
Fredag fra kl. 08.00 til 12.00

Ovenstående betyder at du ikke bare kan tjekke på om man har tastet 8 timer og så er dagen ok. For bare der er tastet 6 timer for medarbejder nr. 2, er dagen jo ok.

Så er du nødt til at lave individuelle kalendere, evt. for en gruppe af medarbejdere som har samme arbejdsuge. Hvis du så vil tjekke om en dag er registreret korrekt, skal du først kigge på antal timer på medarbejderens kalender og derefter tjekke om antal registrede timer på den dag er => kalendertimerne.

Men du kan jo ikke bare lukke en dag for flere registreringer, hvis der er registreret 8 timer. Hvad så hvis de har arbejdet 12 timer, men har glemt at registrere de sidste 4 og vil gøre det 2 dage efter?






Ved fravær skal det slet ikke være så avanceret der skal bare være en radio knap der bliver trykket om det er fri, ferie eller syg, og så skal den bare registere et fast time antal der, så det er ikke det store problem at få ind.

Men med arbejdsdagene, der er hver eneste arbejdsdag for hver eneste ansat forskellig, og taster de 30 minutter ind på en dag så er det også iorden.

Så alle dage i en måned skal registeres enten som fri, arbejde, syg osv. problemet er bare at jeg ikke helt kan greje, hvordan jeg skal sætte netop det op så nye dage kommer til i brugerdelen, og de dage de har registeret ikke dukker op mere for netop den bruger

Og hvis de har trykket forkert og vil have noget rettet så er det chefen der skal gøre det fra admin delen, so ingen problemer der.



Indlæg senest redigeret d. 08.06.2011 21:19 af Bruger #16445
Hmm ja det ved jeg faktisk heller ikke, for lyder da en del mere simpelt bare at have den kalender på og vælge ud fra den så.

Jeg takker for din tid og hjælp ihvertfald, jeg må fikse en kalender frem så :)



No probs. Jeg sidder og programmerer et tidsregistreringssystem til daglig hvor vi har ca. 70 kunder på og 70 kunder er lig med 2000 forskellige måder at registrere tid på :-)

Det er ikke en triviel opgave skal jeg hilse at sige :-)



Indlæg senest redigeret d. 08.06.2011 21:38 af Bruger #9814
Ja puha så kan jeg nok se at jeg er heldig kun at have en kundes ønsker ;)




Jeg ville nok lave en enkelt tabel med brugernavn, dato, timer, remark - så kan du lave resten som relevante træk på databasen.

F.eks. en funktion der viser de månedsdage, som ikke eksisterer på den relevante bruger.





t