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%)
-----


Kod formularza:
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title>Formularz</title>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. </head>
  8. <body>
  9. <div id="container">
  10. <h2>Wszystkie zlecenia</h2>
  11. <table class="table table-bordered">
  12. <thead>
  13. <tr>
  14. <th>Pracownik</th>
  15. <th>Czas</th>
  16. <th>Samochód</th>
  17. <th>Kilometry</th>
  18. <th>Koszt</th>
  19. </tr>
  20. </thead>
  21. <tbody>
  22. <?php
  23. foreach($orders as $order){ ?>
  24. <tr>
  25. <td><?=$order['imie']?> <?=$order['nazwisko']?></td>
  26. <td><?=$order['czas']?></td>
  27. <td><?=$order['marka']?> <?=$order['model']?></td>
  28. <td><?=$order['kilometry']?></td>
  29. </tr>
  30. <?php } ?>
  31. </tbody>
  32. </table>
  33. <h2>Pisanie nowego zlecenie</h2>
  34. <form action="" method="post">
  35. <div class="form-group">
  36. <label class="control-label col-sm-2" for="id_pracownika">Pracownik:</label>
  37. <select name="id_pracownika" id="id_pracownika" class="form-control">
  38. <?php
  39. foreach($pracownik as $pracownik){ ?>
  40. <option value="<?=$pracownik['id_pracownika']?>"><?=$pracownik['imie']." ".$pracownik['nazwisko']?></option>
  41. <?php } ?>
  42. </select>
  43. </div>
  44. <div class="form-group">
  45. <label class="control-label col-sm-2" for="czas">Czas:</label>
  46. <div>
  47. <input required type="text" class="form-control" id="czas" name="czas">
  48. </div>
  49. </div>
  50. <div class="form-group">
  51. <label class="control-label col-sm-2" for="id_samochodu">Samochód:</label>
  52. <select name="id_samochodu" id="id_samochodu" class="form-control">
  53. <?php
  54. foreach($samochod as $samochod){ ?>
  55. <option value="<?=$samochod['id_samochodu']?>"><?=$samochod['marka']." ".$samochod['model']?></option>
  56. <?php } ?>
  57. </select>
  58. </div>
  59. <div class="form-group">
  60. <label class="control-label col-sm-2" for="kilometry">Podaj kilometry:</label>
  61. <div>
  62. <input required type="text" class="form-control" id="kilometry" name="kilometry">
  63. </div>
  64. </div>
  65. <div class="form-group">
  66. <div class="col-sm-offset-2">
  67. <button type="submit" class="btn btn-danger">Wyślij</button><br />
  68. </div>
  69. </div>
  70. </form>
  71. </div>
  72. </body>
  73. </html>



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