Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [XML][MySQL][PHP]Skrypt wysyłania dyspozycyjności pracownika
Forum PHP.pl > Forum > Przedszkole
skabszo
Witam, od razu poinformuję iż jestem dość początkujący w PHP i MySQL. Generalnie stworzyłem sobie prosty skrypt logowania oparty na sesjach. Zawiera on bazę złożoną z tabeli login(pola: id,user,pass) oraz index.php i glowna.php. No wiadomo na indeksie jest formularz logowania itd. żadna filozofia. Obecnie chciałbym przebudować ten skrypt i zrobić z niego pewnego rodzaju narzędzie do planu pracy. Tzn user po zalogowaniu ma 7 dni tygodnia a obok nich po dwa rozwijane pola z godzinami ( czyli wybiera godzinę rozpoczęcia i zakończenia pracy ) oraz checkbox którego zaznaczenie oznaczałoby iż pracownik chce w tym dniu dzień wolny czyli OFF. Problem dla mnie stanowi tu struktura bazy. Bo o ile mam tą tabelę login o tyle nie wiem jak dodać tabelę która będzie trzymała dane z godzinami. czy każdemu pracownikowi stworzyć tabele o polach z dniami tygodnia czy tabela wraz z polami tygodnia wystarczy? Jeden z użytkowników byłby automatycznie adminem i chcę by miał możliwość zapisu danych do postaci XML. W sumie w necie jest dużo skryptów i klas które potrafią dane z bazy zapisać do tego pliku. Niemniej problem pojawia sie dla mnie w związku z faktem iż czynność ta będzie wykonywana cotygodniowo więc nie chcę by dyspozycyjności pracowników były wymieszane - np niektózy mają aktualną a niektórzy z ubieglego tygodnai gdyż jeszcze swojej dysp. nie wysłali. Mogę się przed tym jakoś ustrzec? jakaś funkcja która powiedzmy w ostatnim dniu tygodnia pracowego wyczyści zawartość tabeli? Nie oczekuję gotowego kodu a jedynie wskazówek za które z góry dziękujęwinksmiley.jpg
celbarowicz
zrób tabelę pracowników w której będą ich dane personalne itp. W drugiej tabeli która również będzie się sama inkrementowała wprowadzaj dane odnośnie pracy. Przy zapisie do drugiej tabeli druga kolumna powinna mieć wpisywany id pracownika ,gdy pracownik będzie wpisywał dane powinien być pobierany aktualny czas i np ,gdy chce wpisać dane wstecz skrypt powinien to uniemożliwić. z drugiej tabeli dane o czasie który przeszedł mogą być kopiowane do tabeli trzeciej jako historia w momencie odwoływania się do tej tabeli i usuwane,aby zmniejszyć ilość danych w tabeli 2.Po drugiej kolumnie będziesz mógł wyszukać niezbędne dane o wybranym pracowniku.do zapisy daty i czasu dobrze jest użyć czasu UNIX.
skabszo
Czyli coś takiego powinno wystarczyć?

  1. CREATE TABLE 'login' (
  2. `id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  3. `username` VARCHAR( 255 ) NOT NULL ,
  4. `pass` VARCHAR( 255 ) NOT NULL
  5. ) ENGINE = MYISAM ;
  6.  
  7. CREATE TABLE 'shifts' (
  8. `id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  9. `monday` DECIMAL( 6, 2 ) NOT NULL ,
  10. `tuesday` DECIMAL( 6, 2 ) NOT NULL ,
  11. `wednesday` DECIMAL( 6, 2 ) NOT NULL ,
  12. `thursday` DECIMAL( 6, 2 ) NOT NULL ,
  13. `friday` DECIMAL( 6, 2 ) NOT NULL ,
  14. `saturday` DECIMAL( 6, 2 ) NOT NULL ,
  15. `sunday` DECIMAL( 6, 2 ) NOT NULL ,
  16. ) ENGINE = MYISAM ;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.