Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Formularz, mnożenie i sumowanie rekordów
sauber94
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sauber94
post
Post #2





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 22.05.2015

Ostrzeżenie: (0%)
-----


No i udało mi się właśnie go znaleźć dzięki Tobie, przez to że poprosiłeś ponownie o kod, przy dodawaniu na forum zobaczyłem go i szybko edytowałem (IMG:style_emoticons/default/smile.gif)

Tak działa i dziękuję Ci bardzo, tylko tyle, że na stronie formularza wyrzuca mi błędy:

Kod
Warning: Missing argument 1 for Resources::getEmployee(), called in /httpdocs/zlecenie/controllers/Homepage.php on line 27 and defined in /httpdocs/zlecenie/models/Resources.php on line 24
Notice: Undefined offset: 0 in /httpdocs/zlecenie/models/Resources.php on line 39
Warning: Missing argument 1 for Resources::getCar(), called in /httpdocs/zlecenie/controllers/Homepage.php on line 29 and defined in /httpdocs/zlecenie/models/Resources.php on line 60
Notice: Undefined offset: 0 in /httpdocs/zlecenie/models/Resources.php on line 75


Resources.php
  1. <?php
  2.  
  3. class Resources
  4. {
  5.  
  6. public function getEmployees()
  7. {
  8. $response = false;
  9. try {
  10. $pdo = new ConnectionDatabase();
  11. $db = $pdo->connect();
  12. $query = $db->prepare("SELECT * FROM pracownik");
  13. $query->execute();
  14. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  15.  
  16. } catch (PDOException $e) {
  17. $response = $e;
  18. }
  19.  
  20. return $response;
  21. }
  22.  
  23.  
  24. public function getEmployee($id)
  25. {
  26. $response = false;
  27. try {
  28. $pdo = new ConnectionDatabase();
  29. $db = $pdo->connect();
  30. $query = $db->prepare("SELECT * FROM pracownik WHERE id_pracownika = :id");
  31. $query->bindParam(':id', $id);
  32. $query->execute();
  33. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  34.  
  35. } catch (PDOException $e) {
  36. $response = $e;
  37. }
  38.  
  39. return $response[0];
  40. }
  41.  
  42.  
  43. public function getCars()
  44. {
  45. $response = false;
  46. try {
  47. $pdo = new ConnectionDatabase();
  48. $db = $pdo->connect();
  49. $query = $db->prepare("SELECT * FROM samochod");
  50. $query->execute();
  51. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  52.  
  53. } catch (PDOException $e) {
  54. $response = $e;
  55. }
  56.  
  57. return $response;
  58. }
  59.  
  60. public function getCar($id)
  61. {
  62. $response = false;
  63. try {
  64. $pdo = new ConnectionDatabase();
  65. $db = $pdo->connect();
  66. $query = $db->prepare("SELECT * FROM samochod WHERE id_samochodu = :id");
  67. $query->bindParam(':id', $id);
  68. $query->execute();
  69. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  70.  
  71. } catch (PDOException $e) {
  72. $response = $e;
  73. }
  74.  
  75. return $response[0];
  76. }
  77. public function getOrders()
  78. {
  79. $response = false;
  80. try {
  81. $pdo = new ConnectionDatabase();
  82. $db = $pdo->connect();
  83. $query = $db->prepare("SELECT * FROM zlecenie INNER JOIN pracownik ON zlecenie.id_pracownika=pracownik.id_pracownika INNER JOIN samochod ON zlecenie.id_samochodu=samochod.id_samochodu");
  84. $query->execute();
  85. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  86.  
  87. } catch (PDOException $e) {
  88. $response = $e;
  89. }
  90.  
  91. return $response;
  92. }


Homepage.php (bez debugowania):
  1. <?php
  2.  
  3. class Homepage extends Controller
  4. {
  5. public static function index() {
  6. $resources = new Resources();
  7. Form::post(['id_pracownika', 'id_samochodu', 'kilometry', 'koszt', 'wartosc_uslugi', 'typ_uslugi', 'czasochlonnosc'], function () {
  8. $id_pracownika = $_POST['id_pracownika'];
  9. $id_samochodu = $_POST['id_samochodu'];
  10. $kilometry = $_POST['kilometry'];
  11. $wartosc_uslugi = $_POST['wartosc_uslugi'];
  12. $typ_uslugi = $_POST['typ_uslugi'];
  13. $czasochlonnosc = $_POST['czasochlonnosc'];
  14. $r = new Resources();
  15. $employee = $r->getEmployee($id_pracownika);
  16. $stawka = $employee['stawka'];
  17. $car = $r->getCar($id_samochodu);
  18. $koszt_km = $car['koszt_km'];
  19. $koszt = $czasochlonnosc * $stawka + $kilometry * $koszt_km;
  20. $r->createOrders($id_pracownika, $id_samochodu, $kilometry, $koszt, $wartosc_uslugi, $typ_uslugi, $czasochlonnosc);
  21. header('Location: /zlecenie');
  22. });
  23.  
  24. return [
  25. 'orders' => $resources->getOrders(),
  26. 'employees' => $resources->getEmployees(),
  27. 'employee' => $resources->getEmployee(),
  28. 'cars' => $resources->getCars(),
  29. 'car' => $resources->getCar(),
  30. ];
  31. }
  32.  
  33. public static function delete() {
  34. Form::post(['id'], function () {
  35. $id = $_POST['id'];
  36. $r = new Resources();
  37. $r->deleteOrder($id);
  38. header('Location: /zlecenie');
  39. });
  40.  
  41. return [
  42. ];
  43. }
  44. }

Go to the top of the page
+Quote Post

Posty w temacie
- sauber94   Formularz, mnożenie i sumowanie rekordów   31.01.2020, 08:43:23
- - nospor   Ale nie bardzo rozumiem w czym problem. Nie umiesz...   31.01.2020, 09:42:14
- - sauber94   Myślę, że jakiś przykład by mi pomógł w tym. Mam...   31.01.2020, 09:59:38
- - nospor   Pobrac z bazy info chyba umiesz? No to pobierz z b...   31.01.2020, 10:23:10
- - sauber94   Tak, umiem pobrać z bazy dane.   2.02.2020, 17:56:05
- - nospor   No to jaki masz problem by pobrac te stawke godzin...   2.02.2020, 18:57:02
- - sauber94   Napiszę tak by było wszystko zrozumiałe: Obecnie p...   2.02.2020, 20:40:29
- - nospor   Wysylasz formularz. W wyslanym formularzu masz ID ...   2.02.2020, 20:59:39
- - sauber94   To jednak nie umiem, mógłbyś jakiś przykład zapoda...   2.02.2020, 21:27:47
- - nospor   Napisal wczesniej ze umiesz pobrac dane z bazy. Po...   2.02.2020, 22:12:24
- - sauber94   Kod formularza: [PHP] pobierz, plaintext <!DOCT...   2.02.2020, 22:45:13
- - nospor   Super, tylko ja prosilem o zapytanie, ktore pobier...   3.02.2020, 11:26:46
- - sauber94   [PHP] pobierz, plaintext public function getPraco...   3.02.2020, 11:45:11
- - nospor   Skoro juz robisz bindowanie, to wywal = 1 i podsta...   3.02.2020, 11:45:56
- - sauber94   Zamiast = 1 ma być = :id?   3.02.2020, 12:24:44
- - nospor   rety.... tak, ma byc analogicznie jak getOrder t...   3.02.2020, 12:28:08
- - sauber94   No dobrze, i co dalej?   3.02.2020, 12:37:57
- - nospor   Pokaz kod po zmianach. caly Ale zanim to dodaj to...   3.02.2020, 12:42:48
- - sauber94   [PHP] pobierz, plaintext public function getPraco...   3.02.2020, 13:08:48
- - viking   Na pewno bzdurą jest blok catch. $response w ...   3.02.2020, 14:03:21
- - nospor   @viking podobnych bzdur jest cala masa w tej klasi...   3.02.2020, 14:38:21
- - sauber94   Z tym opadajom to tak sobie napisałem, wiem jak si...   3.02.2020, 14:49:01
- - nospor   getPracownikk getSamocodd powaznie? NIe lepiej g...   3.02.2020, 14:54:28
- - sauber94   Nie wiem jaki kod w formularzu zamieścić by mi to ...   3.02.2020, 15:00:10
- - nospor   Przeciez ci juz pisalem: nic w formularzu masz nie...   3.02.2020, 15:01:08
- - sauber94   No i tego, np. nie wiem jak zrobić. Mogę liczyć na...   3.02.2020, 15:25:25
- - nospor   Na moja pomoc? Caly czas dostajesz tu moja pomoc, ...   3.02.2020, 15:33:37
- - sauber94   Tak. Po uzupełnieniu formularza tj. wybór pracowni...   3.02.2020, 15:44:01
- - nospor   NO to pokaz jak to robisz... no wlacz troche wlasn...   3.02.2020, 15:55:36
- - sauber94   [PHP] pobierz, plaintext <?php class Homep...   3.02.2020, 16:38:22
- - nospor   No i masz juz wszystkie metody niezbedne. Dlaczego...   3.02.2020, 16:49:17
- - sauber94   I jak później zapisać wynik w tabeli zlecenie w po...   3.02.2020, 20:49:13
- - nospor   Przeciez ostatnim parametrem funkcji createOrder()...   3.02.2020, 21:47:31
- - sauber94   Nie powinienem teraz wstawić do kodu coś w stylu: ...   4.02.2020, 16:30:34
- - nospor   Powinienes   4.02.2020, 16:37:18
- - sauber94   Kurcze, napotkał mnie problem, formularz nie chce ...   4.02.2020, 19:03:35
- - nospor   Czyli chcesz powiedziec, ze przed wyliczeniem kosz...   4.02.2020, 21:20:08
- - sauber94   Coś naprawiłem ale teraz mogę tylko raz wysłać for...   4.02.2020, 22:59:21
- - nospor   Nie widze wyliczen kosztu to raz A dwa wyswietl bl...   5.02.2020, 10:25:24
- - sauber94   Edytowałem wcześniejszy post, dodałem: [PHP] pobie...   5.02.2020, 10:40:32
- - nospor   No przeciez podalem ci dokladnie kod na wyswietlen...   5.02.2020, 10:43:49
- - sauber94   Proszę się na mnie nie złościć, staram się jak mog...   5.02.2020, 12:15:30
- - nospor   Napisalem ci gdzie dokladnie te wyliczenia koszt m...   5.02.2020, 12:27:28
- - sauber94   [PHP] pobierz, plaintext public static function i...   5.02.2020, 12:58:01
- - nospor   Tak, tylko kawalek kodu, bo liczylem ze na jego po...   5.02.2020, 13:03:23
- - viking   A takie podstawowe pytanie. Włączyłeś raportowanie...   5.02.2020, 13:06:24
- - sauber94   nospor jakiś przykład jak to powinno wyglądać mógł...   5.02.2020, 20:19:00
- - nospor   Wyciagnales te stawki z tej tablicy jak napisalem?...   5.02.2020, 21:12:49
- - sauber94   [PHP] pobierz, plaintext public static function in...   5.02.2020, 22:12:38
- - nospor   Zobacz, o tu $_POST['kilometry']; wyc...   5.02.2020, 22:20:34
- - sauber94   [PHP] pobierz, plaintext public static function in...   5.02.2020, 22:40:26
- - nospor   Napisz mi prosze, po co w takim razie mamy to ...   5.02.2020, 22:45:24
- - sauber94   W tablicy $employee mamy dane pracownika.   5.02.2020, 23:01:11
- - nospor   Brawo. W tablicy $employee masz dane pracowni...   5.02.2020, 23:05:56
- - sauber94   Edytowałem post z kodem na górze. Koszt dalej się ...   5.02.2020, 23:15:17
- - nospor   To teraz przed toba najwazniejsza lekcja calego zy...   6.02.2020, 07:14:27
- - sauber94   Dosyć sporo błędów. Kodobject(PDOException...   6.02.2020, 08:49:23
- - nospor   No i masz czarno na bialym co jest zle. W niektory...   6.02.2020, 09:55:12
- - sauber94   Jeszcze tylko trochę: Kodarray(0) { } Noti...   6.02.2020, 20:15:32
- - nospor   array 0 to niestety tez zly wynik. Pokaz kod klas...   6.02.2020, 20:35:38
- - sauber94   [PHP] pobierz, plaintext <?php class Homep...   6.02.2020, 20:53:14
- - nospor   Ja naprawde nie ogarniam tych glupot, bo inaczej j...   6.02.2020, 20:58:39
- - sauber94   Kodarray(1) { [0]=> array...   6.02.2020, 21:27:48
- - nospor   Wczesniej miales return $response[0]; teraz...   6.02.2020, 21:34:56
- - sauber94   Kodarray(4) { ["id_pracownika...   6.02.2020, 21:45:40
- - nospor   Pokazuj kod, ktory aktualnie masz a nie wyczyszczo...   7.02.2020, 10:39:13
- - sauber94   $wartosc_uslugi, $typ_uslugi, $czas...   7.02.2020, 10:53:50
- - nospor   var_dump($koszt); exit; ...   7.02.2020, 10:55:36
- - sauber94   var_dump($koszt); exit; $koszt = $c...   7.02.2020, 11:06:13
- - nospor   Blad z nieistniejaca zmienna $koszt miales ju...   7.02.2020, 11:09:14
- - sauber94   No i udało mi się właśnie go znaleźć dzięki Tobie,...   7.02.2020, 11:27:11
- - nospor   CytatNo i udało mi się właśnie go znaleźć dzięki T...   7.02.2020, 11:30:44
- - sauber94   Zrobione, działa tak jak należy. Bardzo Ci dziękuj...   22.02.2020, 17:58:05
- - nospor   Pytasz juz o to tutaj http://forum.php.pl/index.ph...   23.02.2020, 17:38:15


Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 06:35