![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
Panowie tworzę system wyliczenia wypłaty dla pracownika. Na chwilę obecną zrobiłem tak , że każdy dzień dopisuje do pracownika.
W bazie zapisuje następujące informacje: - placa (pracownik, data, godz_od, godz_do, stawka_godz), Z wyświetleniem tego też nie ma problemu. Wyświetlam sobie cały miesiąc , podliczam ilość godzin x stawka i wychodzi mi kwota do wypłaty. Teraz chciałbym dołożyć system zaliczek, premii oraz pomniejszanie kwoty zarobku o kwote w towarze o zaliczki a także doliczanie premii. Czy w tym przypadku najlepiej było by tworzyć kolejne 3 tabele z zaliczkami i porównywać je po pracowniku , tak samo zrobić z tabelką zaliczki_w_towarze i też porównywać to z pracownikiem oraz z tabelką premie? Ponadto system musi wyświetlić kwoty: pobrane zaliczki (w danym miesiącu), premie (w danym miesiącu) , rozliczenia w towarze (w danym miesiącu) Dobra Panowie zrobiłem tak: DB - placa (pracownik, data, godz_od, godz_do, stawka_godz), - zaliczki(pracownik, data, kwota); - premia(pracownik, data, kwota); - towar(pracownik, data, kwota); Obecnie PHP mam tak:
Powyższe mam w pętli while i ładnie mi sumuje. Jak teraz to ładnie i wydaje obrać w zapytanie tak by wyświetlić dodatkowo: - sumę zaliczek - sumę premii - sumę wziętego towaru Chodzi mi o optymalne napisanie zapytania mysql. Ten post edytował casperii 17.01.2016, 19:40:57 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 650 Pomógł: 16 Dołączył: 5.07.2010 Skąd: Ściśle Tajne Ostrzeżenie: (0%) ![]() ![]() |
Ja bym dodał to do tej samej tabeli jako zaliczki przez co sam byś dobry dostęp do informacji którego dnia kto wziął ile zaliczki... w prosty sposób do zapytania mógłbyś dodać SUM(zaliczki) przez co miałbyś przez bazę danych podliczone zaliczki a na dodatek by się mieściło to w jednym zapytaniu przez co byłoby to optymalne
![]()
Ten post edytował GodOfPeople 17.01.2016, 20:54:19 -------------------- Jak coś jest dobre, to nie znaczy że nie może być to lepsze - Ideały nie istnieją ;D
Strony internetowe Świnoujście |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
i tak samo zrobić dla kolejnych tabel ? tzn przenieść tabele do 1 tabeli ?
Poza tym wg. twojego rozwiązania pozostaje kwestia logistyczna. Bo jeżeli dopiszę rekord do tabeli placa z danym pracownikiem o określonej dacie, to jak później dopisywać do tabeli placa zaliczki? Rozumiem, że musiałbym pobierać rekord z daną datą i edytować z nadpisaniem zaliczki ? Gdyż nie zawsze będzie możliwość podania zaliczki w chwili dopisywania godzin pracy w danym dniu. Ten post edytował casperii 17.01.2016, 21:02:22 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 650 Pomógł: 16 Dołączył: 5.07.2010 Skąd: Ściśle Tajne Ostrzeżenie: (0%) ![]() ![]() |
zapraszam na: https://sophie.net4um.net/phpmyadmin/ Zaraz Ci podam hasło do bazy Login: work_job Hasło: php.pl Zobacz sobie jak działa zapytanie, to na szybkiego było robione to musisz dodać pensje do pobierania ![]() Ten post edytował GodOfPeople 17.01.2016, 22:02:03 -------------------- Jak coś jest dobre, to nie znaczy że nie może być to lepsze - Ideały nie istnieją ;D
Strony internetowe Świnoujście |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
To co Ty masz w 2 tabelach ja mam w 1 tzn. nazwa_pracownika, stawka.
zaliczki, premie jednak chciałbym rozbić na kolejne tabele i w zapytaniu to jakoś połączyć placa, zaliczki, premie. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 650 Pomógł: 16 Dołączył: 5.07.2010 Skąd: Ściśle Tajne Ostrzeżenie: (0%) ![]() ![]() |
To Ty kombinuj dalej, ja podałem Tobie tylko prosty przykład
![]() ![]() -------------------- Jak coś jest dobre, to nie znaczy że nie może być to lepsze - Ideały nie istnieją ;D
Strony internetowe Świnoujście |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 13:39 |