Formularz, mnożenie i sumowanie rekordów |
Formularz, mnożenie i sumowanie rekordów |
31.01.2020, 08:43:23
Post
#1
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 22.05.2015 Ostrzeżenie: (0%) |
Cześć.
W bazie danych takie tabele jak: - samochód (marka, model itd.) - pracownik (imię, nazwisko itd.) Zrobiłem formularz, w którym wybieram z listy samochód i podaję ilość przejechanych nim kilometrów oraz wybór z listy pracownika i podanie ilości przepracowanych przez niego godzin. Przykład: Samochód: VW Polo Ilość przejechanych km: 50 Pracownik: Adam Nowak Ilość przepracowanych godzin: 8 Pytanie jak zrobić by bo wysłaniu formularza do bazy wyliczyło mi koszty. Zakładając że przejechany 1 km = 1 PLN, przepracowana 1h = 10 PLN. W sumie koszt powinien wyjść 130 PLN i ma pokazać się w bazie. |
|
|
31.01.2020, 09:42:14
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Ale nie bardzo rozumiem w czym problem. Nie umiesz w php zrobic 50*1 + 8*10 ?
ps: Przenosze -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
31.01.2020, 09:59:38
Post
#3
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 22.05.2015 Ostrzeżenie: (0%) |
Myślę, że jakiś przykład by mi pomógł w tym.
Mam w bazie przykładowo tabelę pracownika, w niej dodanego pracownika wraz z przypisaną stawką na godzinę. W nowym formularzy załóżmy o nazwie zlecenie, przy tworzeniu formularzu musi sczytywać jego stawkę i mnożyć przez podaną przeze mnie ilość przepracowanych godzin. |
|
|
31.01.2020, 10:23:10
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Pobrac z bazy info chyba umiesz? No to pobierz z bazy stawke pracownika a potem te stawke przemnoz przez wartosc z formularza
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
2.02.2020, 17:56:05
Post
#5
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 22.05.2015 Ostrzeżenie: (0%) |
Tak, umiem pobrać z bazy dane.
|
|
|
2.02.2020, 18:57:02
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
No to jaki masz problem by pobrac te stawke godzinowa pracownika?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
2.02.2020, 20:40:29
Post
#7
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 22.05.2015 Ostrzeżenie: (0%) |
Napiszę tak by było wszystko zrozumiałe:
Obecnie po zmianach w bazie mam 3 tabele: Zlecenie - id_zlecenia - id_pracownika - id_samochodu - kilometry - czas Pracownik: - id_pracownika - imie - nazwisko - stawka Samochod: - id_samochodu - marka - model - koszt_1_km Mam problem z napisaniem linii kodu, by przy uzupełnianiu formularza podebrała w zależności od id_pracownika odpowiednią stawkę, pomnożyła przez wartość przejechanych kilometrów wpisanych w formularzu (tak samo z samochodem) i zsumowała koszt a wynik by wysłało wraz z uzupełnionym formularzem do bazy, tabela zlecenie. Wygląd formularza który wysyła dane do tabeli Zlecenie: |
|
|
2.02.2020, 20:59:39
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Wysylasz formularz. W wyslanym formularzu masz ID pracownika. Majac ID pracownika, pobierasz z bazy jego stawke, mnozysz stawke przez czas, ktory tez masz z formularza, do tego dodajesz kilometry pomnozone przez stawke za kilometr i masz swoj wynik. Nastepnie ten wynik zapisujesz do bazy.
Pytam sie po raz setny: czego z tego nie umiesz zrobic? Ponoc dane z bazy umiesz pobrac. Wiec w czym co tu napisalem masz problem? Czy tak ciezko napisac? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
2.02.2020, 21:27:47
Post
#9
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 22.05.2015 Ostrzeżenie: (0%) |
To jednak nie umiem, mógłbyś jakiś przykład zapodać jak to powinno wyglądać?
|
|
|
2.02.2020, 22:12:24
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Napisal wczesniej ze umiesz pobrac dane z bazy.
Pokaz mi kod, jak pobierasz dane z bazy z tabeli PRACOWNIK dla ID pracownika = 1 -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
2.02.2020, 22:45:13
Post
#11
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 22.05.2015 Ostrzeżenie: (0%) |
Kod formularza:
Kod zapytań bazy:
|
|
|
3.02.2020, 11:26:46
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Super, tylko ja prosilem o zapytanie, ktore pobiera pracownika o ID =1.
Umiesz pisac takie zapytania, bo masz juz jedno chocby w getOrder() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
3.02.2020, 11:45:11
Post
#13
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 22.05.2015 Ostrzeżenie: (0%) |
Dobrze? |
|
|
3.02.2020, 11:45:56
Post
#14
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Skoro juz robisz bindowanie, to wywal = 1 i podstaw tam wartosc bindowana tak jak to masz w getOrder
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
3.02.2020, 12:24:44
Post
#15
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 22.05.2015 Ostrzeżenie: (0%) |
Zamiast = 1 ma być = :id?
|
|
|
3.02.2020, 12:28:08
Post
#16
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
rety....
tak, ma byc analogicznie jak getOrder tylko zamiast tabeli order i jej pol, ma byc tabela placownik i jej pola... -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
3.02.2020, 12:37:57
Post
#17
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 22.05.2015 Ostrzeżenie: (0%) |
No dobrze, i co dalej?
|
|
|
3.02.2020, 12:42:48
Post
#18
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Pokaz kod po zmianach. caly
Ale zanim to dodaj to samo dla samochodu bo masz przeciez pobrac stawke dla danego samochodu -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
3.02.2020, 13:08:48
Post
#19
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 22.05.2015 Ostrzeżenie: (0%) |
Jeżeli źle to mi już ręce opadajom |
|
|
3.02.2020, 14:03:21
Post
#20
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Na pewno bzdurą jest blok catch. $response w przypadku błędu nie będzie żadną tablicą tylko klaską implementującą https://www.php.net/manual/en/class.throwable.php
-------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 13:13 |