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
4 Stron V   1 2 3 > »   
Start new topic
Odpowiedzi (1 - 73)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Ale nie bardzo rozumiem w czym problem. Nie umiesz w php zrobic 50*1 + 8*10 ?

ps: Przenosze
Go to the top of the page
+Quote Post
sauber94
post
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.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
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
Go to the top of the page
+Quote Post
sauber94
post
Post #5





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

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


Tak, umiem pobrać z bazy dane.
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




No to jaki masz problem by pobrac te stawke godzinowa pracownika?
Go to the top of the page
+Quote Post
sauber94
post
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:
(IMG:https://zapodaj.net/images/cbcdd9dcb24d0.png)
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
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?
Go to the top of the page
+Quote Post
sauber94
post
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ć?
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
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
Go to the top of the page
+Quote Post
sauber94
post
Post #11





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
nospor
post
Post #12





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
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()
Go to the top of the page
+Quote Post
sauber94
post
Post #13





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

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


  1. public function getPracownik($id)
  2. {
  3. $response = false;
  4. try {
  5. $pdo = new ConnectionDatabase();
  6. $db = $pdo->connect();
  7. $query = $db->prepare("SELECT * FROM pracownik WHERE id_pracownika = 1");
  8. $query->bindParam(':i1, $1);
  9. $query->execute();
  10. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  11.  
  12. } catch (PDOException $e) {
  13. $response = $e;
  14. }
  15. return $response[0];
  16. }


Dobrze?
Go to the top of the page
+Quote Post
nospor
post
Post #14





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Skoro juz robisz bindowanie, to wywal = 1 i podstaw tam wartosc bindowana tak jak to masz w getOrder
Go to the top of the page
+Quote Post
sauber94
post
Post #15





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

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


Zamiast = 1 ma być = :id?
Go to the top of the page
+Quote Post
nospor
post
Post #16





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
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...
Go to the top of the page
+Quote Post
sauber94
post
Post #17





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

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


No dobrze, i co dalej?
Go to the top of the page
+Quote Post
nospor
post
Post #18





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
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
Go to the top of the page
+Quote Post
sauber94
post
Post #19





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

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


  1. public function getPracownik($id)
  2. {
  3. $response = false;
  4. try {
  5. $pdo = new ConnectionDatabase();
  6. $db = $pdo->connect();
  7. $query = $db->prepare("SELECT * FROM pracownik WHERE id_pracownika = :id");
  8. $query->bindParam(':id', $id);
  9. $query->execute();
  10. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  11.  
  12. } catch (PDOException $e) {
  13. $response = $e;
  14. }
  15. return $response[0];
  16. }


Jeżeli źle to mi już ręce opadajom (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
viking
post
Post #20





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
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
Go to the top of the page
+Quote Post
nospor
post
Post #21





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




@viking podobnych bzdur jest cala masa w tej klasie. nie ma na chwile obecna zadnego sensu zawracac mu nimi glowy jak on nie ogarnia podstaw a co dopiero takie "zaawansowane" rzeczy jak to
@sauber94 kiedy w koncu zaczniesz czytac i podawac dokladnie to o co prosze? Naprawde kazda "komende" mam powtorzyc 10 razy?

Cytat
Jeżeli źle to mi już ręce opadajom
Prosze cie... od 3 dni przepisujesz getOrder by pobralo pracownika i ci jez rece "opadajom"...(IMG:style_emoticons/default/questionmark.gif) ? Lepiej sie nie przyznawaj. I kurcze, nie zadne "opadajom" bo mi oczy slepna jak czytam takie ortografy
Go to the top of the page
+Quote Post
sauber94
post
Post #22





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

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


Z tym opadajom to tak sobie napisałem, wiem jak się poprawnie pisze. Popełniam błędy ale się w końcu nauczę co źle robię.

  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 getPracownikk($id)
  23. {
  24. $response = false;
  25. try {
  26. $pdo = new ConnectionDatabase();
  27. $db = $pdo->connect();
  28. $query = $db->prepare("SELECT * FROM pracownik WHERE id_pracownika = :id");
  29. $query->bindParam(':id', $id);
  30. $query->execute();
  31. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  32.  
  33. } catch (PDOException $e) {
  34. $response = $e;
  35. }
  36. return $response[0];
  37. }
  38.  
  39. public function getSamochodd($id)
  40. {
  41. $response = false;
  42. try {
  43. $pdo = new ConnectionDatabase();
  44. $db = $pdo->connect();
  45. $query = $db->prepare("SELECT * FROM samochod WHERE id_samochodu = :id");
  46. $query->bindParam(':id', $id);
  47. $query->execute();
  48. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  49.  
  50. } catch (PDOException $e) {
  51. $response = $e;
  52. }
  53. return $response[0];
  54. }
  55.  
  56.  
  57. public function getSamochod()
  58. {
  59. $response = false;
  60. try {
  61. $pdo = new ConnectionDatabase();
  62. $db = $pdo->connect();
  63. $query = $db->prepare("SELECT * FROM samochod");
  64. $query->execute();
  65. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  66.  
  67. } catch (PDOException $e) {
  68. $response = $e;
  69. }
  70.  
  71. return $response;
  72. }
  73.  
  74. public function getOrders()
  75. {
  76. $response = false;
  77. try {
  78. $pdo = new ConnectionDatabase();
  79. $db = $pdo->connect();
  80. $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");
  81. $query->execute();
  82. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  83.  
  84. } catch (PDOException $e) {
  85. $response = $e;
  86. }
  87.  
  88. return $response;
  89. }
  90.  
  91. public function getOrder($id)
  92. {
  93. $response = false;
  94. try {
  95. $pdo = new ConnectionDatabase();
  96. $db = $pdo->connect();
  97. $query = $db->prepare("SELECT * FROM zlecenie WHERE id_zlecenia = :id");
  98. $query->bindParam(':id', $id);
  99. $query->execute();
  100. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  101.  
  102. } catch (PDOException $e) {
  103. $response = $e;
  104. }
  105. return $response[0];
  106. }
  107.  
  108. public function createOrders($id_pracownika, $czas, $id_samochodu, $kilometry, $koszt)
  109. {
  110. $response = false;
  111. try {
  112. $pdo = new ConnectionDatabase();
  113. $db = $pdo->connect();
  114. $query = $db->prepare("INSERT INTO zlecenie (id_pracownika, czas, id_samochodu, kilometry, koszt)
  115. VALUES (:id_pracownika, :czas, :id_samochodu, :kilometry, :koszt)");
  116. $query->bindParam(':id_pracownika', $id_pracownika);
  117. $query->bindParam(':czas', $czas);
  118. $query->bindParam(':id_samochodu', $id_samochodu);
  119. $query->bindParam(':kilometry', $kilometry);
  120. $query->bindParam(':koszt', $koszt);
  121. $query->execute();
  122. $response = true;
  123. } catch (PDOException $e) {
  124. $response = $e;
  125. }
  126. return $response;
  127. }
  128.  
  129. }


Go to the top of the page
+Quote Post
nospor
post
Post #23





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




getPracownikk
getSamocodd

powaznie? NIe lepiej getPracownik zamienic na getPracownicy a getPracownikk na getPracownik? Naprawde tak sam sobie lubisz komplikowac zycie?
Identycznie z samochodami.

Majac teraz juz metody, ktore pobieraja dla danego procownika jego rekord (w tym i stawke) oraz podobnie dla samochodu, to jaki teraz masz problem by dokonczyc zadanie?
Go to the top of the page
+Quote Post
sauber94
post
Post #24





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

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


Nie wiem jaki kod w formularzu zamieścić by mi to wszystko liczyło.
Go to the top of the page
+Quote Post
nospor
post
Post #25





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Przeciez ci juz pisalem:
nic w formularzu masz nie dodawac...
Za to po wyslaniu formularza, masz dokonac odpowiednich obliczen i wlozyc dane do bazy.
Go to the top of the page
+Quote Post
sauber94
post
Post #26





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

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


No i tego, np. nie wiem jak zrobić. Mogę liczyć na Twoją pomoc?
Go to the top of the page
+Quote Post
nospor
post
Post #27





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Na moja pomoc? Caly czas dostajesz tu moja pomoc, ktora notabene sprowadza sie do zrobienia za ciebie wszystkiego. Zero wkladu wlasnego z twojej strony.

Robisz juz cokolwiek teraz po wyslaniu formularza? Wkladasz wtedy cos do bazy?
Go to the top of the page
+Quote Post
sauber94
post
Post #28





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

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


Tak. Po uzupełnieniu formularza tj. wybór pracownika, podanie przepracowanej ilości godzin, wybór auta, podanie przejechanych kilometrów i wysłaniu go, dane lądują do bazy.
Go to the top of the page
+Quote Post
nospor
post
Post #29





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




NO to pokaz jak to robisz... no wlacz troche wlasnego myslenia. Przeciez w ten kod trzeba teraz dodac te sume. By to zrobic, chyba musze zobaczyc co aktualnie masz, nie sadzisz?
Go to the top of the page
+Quote Post
sauber94
post
Post #30





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

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


  1. <?php
  2.  
  3. class Homepage extends Controller
  4. {
  5. public static function index() {
  6. $resources = new Resources();
  7. Form::post(['id_pracownika', 'czas', 'id_samochodu', 'kilometry', 'koszt'], function () {
  8. $id_pracownika = $_POST['id_pracownika'];
  9. $czas = $_POST['czas'];
  10. $id_samochodu = $_POST['id_samochodu'];
  11. $kilometry = $_POST['kilometry'];
  12. $kilometry = $_POST['koszt'];
  13. $r = new Resources();
  14. $r->createOrders($id_pracownika, $czas, $id_samochodu, $kilometry, $koszt);
  15. header('Location: /zlecenie');
  16. });
  17.  
  18. return [
  19. 'pracownik' => $resources->getPracownik(),
  20. 'samochod' => $resources->getSamochod(),
  21. 'orders' => $resources->getOrders()
  22. ];
  23. }
  24. }


Ten post edytował sauber94 3.02.2020, 16:40:40
Go to the top of the page
+Quote Post
nospor
post
Post #31





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




No i masz juz wszystkie metody niezbedne. Dlaczego nie mozesz ich wywolac?

  1. $r = new Resources();
  2. $pracownik = $r->getPracownik($id_pracownika); // w zmiennej $pracownik masz teraz dane pracownika. Wez sobie z nich stawke i pomnoz przez ilosc godzin
  3. //to samo zrob z samochodem. Masz tu wszystkie dane
  4. $r->createOrders($id_pracownika, $czas, $id_samochodu, $kilometry, $koszt);
Go to the top of the page
+Quote Post
sauber94
post
Post #32





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

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


I jak później zapisać wynik w tabeli zlecenie w polu koszt?
Go to the top of the page
+Quote Post
nospor
post
Post #33





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004






Przeciez ostatnim parametrem funkcji createOrder() jest wlasnie KOSZT...
Go to the top of the page
+Quote Post
sauber94
post
Post #34





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

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


Nie powinienem teraz wstawić do kodu coś w stylu:
$koszt = $stawka_pracownika * $czas + $koszt_km * $kilometry;
Go to the top of the page
+Quote Post
nospor
post
Post #35





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Powinienes
Go to the top of the page
+Quote Post
sauber94
post
Post #36





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

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


Kurcze, napotkał mnie problem, formularz nie chce mi wysyłać danych do bazy. Jak dodam w bazie dane to są wyświetlane na stronie www.
Go to the top of the page
+Quote Post
nospor
post
Post #37





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Czyli chcesz powiedziec, ze przed wyliczeniem koszt, formularz ci dzialal, a po wyliczeniu koszt formularz ci przestal dzialac? Dobrze zrozumialem?

Pokaz kod po zmianach
Go to the top of the page
+Quote Post
sauber94
post
Post #38





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

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


Coś naprawiłem ale teraz mogę tylko raz wysłać formularz, jak chcę wysłać drugi i więcej to nic się do bazy nie zapisuje. Sprawdziłem i bez tych udoskonaleń co się staram od kilku dni zrobić też jest taki sam problem. Podejrzewam, że coś od bazy daych może mi blokuje?

  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', 'czas'], function () {
  8. $id_pracownika = $_POST['id_pracownika'];
  9. $id_samochodu = $_POST['id_samochodu'];
  10. $kilometry = $_POST['kilometry'];
  11. $czas = $_POST['czas'];
  12. $r = new Resources();
  13. $employee = $r->getEmployee($id_pracownika);
  14. $car = $r->getCar($id_samochodu);
  15. $r->createOrders($id_pracownika, $id_samochodu, $kilometry, $czas);
  16. header('Location: /zlecenie');
  17. });
  18.  
  19. return [
  20. 'orders' => $resources->getOrders(),
  21. 'employees' => $resources->getEmployees(),
  22. 'employee' => $resources->getEmployee(),
  23. 'cars' => $resources->getCars(),
  24. 'car' => $resources->getCar()
  25. ];
  26. }
  27.  
  28. public static function delete() {
  29. Form::post(['id'], function () {
  30. $id = $_POST['id'];
  31. $r = new Resources();
  32. $r->deleteOrder($id);
  33. header('Location: /zlecenie');
  34. });
  35.  
  36. return [
  37. ];
  38. }
  39. }



  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()
  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->execute();
  32. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  33.  
  34. } catch (PDOException $e) {
  35. $response = $e;
  36. }
  37.  
  38. return $response;
  39. }
  40.  
  41.  
  42. public function getCars()
  43. {
  44. $response = false;
  45. try {
  46. $pdo = new ConnectionDatabase();
  47. $db = $pdo->connect();
  48. $query = $db->prepare("SELECT * FROM samochod");
  49. $query->execute();
  50. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  51.  
  52. } catch (PDOException $e) {
  53. $response = $e;
  54. }
  55.  
  56. return $response;
  57. }
  58.  
  59. public function getCar()
  60. {
  61. $response = false;
  62. try {
  63. $pdo = new ConnectionDatabase();
  64. $db = $pdo->connect();
  65. $query = $db->prepare("SELECT * FROM samochod WHERE id_samochodu = :id");
  66. $query->execute();
  67. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  68.  
  69. } catch (PDOException $e) {
  70. $response = $e;
  71. }
  72.  
  73. return $response;
  74. }
  75. public function getOrders()
  76. {
  77. $response = false;
  78. try {
  79. $pdo = new ConnectionDatabase();
  80. $db = $pdo->connect();
  81. $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");
  82. $query->execute();
  83. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  84.  
  85. } catch (PDOException $e) {
  86. $response = $e;
  87. }
  88.  
  89. return $response;
  90. }
  91.  
  92.  
  93. public function getOrder($id)
  94. {
  95. $response = false;
  96. try {
  97. $pdo = new ConnectionDatabase();
  98. $db = $pdo->connect();
  99. $query = $db->prepare("SELECT * FROM zlecenie WHERE id_zlecenia = :id");
  100. $query->bindParam(':id', $id);
  101. $query->execute();
  102. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  103.  
  104. } catch (PDOException $e) {
  105. $response = $e;
  106. }
  107. return $response[0];
  108. }
  109.  
  110. public function createOrders($id_pracownika, $id_samochodu, $kilometry, $czas)
  111. {
  112. $response = false;
  113. try {
  114. $pdo = new ConnectionDatabase();
  115. $db = $pdo->connect();
  116. $query = $db->prepare("INSERT INTO zlecenie (id_pracownika, id_samochodu, kilometry, czas)
  117. VALUES (:id_pracownika, :id_samochodu, :kilometry, :czas)");
  118. $query->bindParam(':id_pracownika', $id_pracownika);
  119. $query->bindParam(':id_samochodu', $id_samochodu);
  120. $query->bindParam(':kilometry', $kilometry);
  121. $query->bindParam(':czas', $czas);
  122. $koszt = $stawka * $czas + $koszt_km * $kilometry;
  123. $query->execute();
  124. $response = true;
  125. } catch (PDOException $e) {
  126. $response = $e;
  127. }
  128. return $response;
  129. }
  130.  
  131.  
  132. }


Ten post edytował sauber94 5.02.2020, 10:45:15
Go to the top of the page
+Quote Post
nospor
post
Post #39





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Nie widze wyliczen kosztu to raz
A dwa wyswietl blad bazy

  1. } catch (PDOException $e) {
  2. die($e->getMessage());
  3. $response = $e;
  4. }
  5.  
Go to the top of the page
+Quote Post
sauber94
post
Post #40





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

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


Edytowałem wcześniejszy post, dodałem:
  1. $koszt = $stawka * $czas + $koszt_km * $kilometry;

w createOrders i przy wysłaniu formularza wyświetla mi w Koszt '0' więc robię coś źle. Powinno pobierać stawkę od danego pracownika po id

A co do Twojej odpowiedzi 'wyświetl błąd bazy', możesz jaśniej? Mam gdzieś kod zmienić?

Ten post edytował sauber94 5.02.2020, 10:44:53
Go to the top of the page
+Quote Post
nospor
post
Post #41





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




No przeciez podalem ci dokladnie kod na wyswietlenie bledu z bazy. Czytasz czasami co ci ludzie podaja?

Co do kosztu:
(IMG:style_emoticons/default/facepalmxd.gif)

Ja sie poddaje. Pisalem ci rowniez wczesniej gdzie to masz wsadzic i skad masz brac dane do tego. Ty totalnie zlewasz to co sie pisze... powodzenia
Go to the top of the page
+Quote Post
sauber94
post
Post #42





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

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


Proszę się na mnie nie złościć, staram się jak mogę. Ze zdrowiem u mnie teraz troszkę jest nie najlepiej i czuję, że nie pracuję efektywnie.
Baza naprawiona, próbuję teraz z tym kosztem gdzie to wstawić.
Go to the top of the page
+Quote Post
nospor
post
Post #43





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Napisalem ci gdzie dokladnie te wyliczenia koszt masz wstawic, podalem ci kawalek kodu nawet gdzie dokladnie ma to byc. To jest wlasnie wnerwiajace, ze ci sie pisze dokladnie co jak i gdzie, a ty to masz gdzies.
Przykro mi z powodu stanu twojego zdrowia, mam nadzieje ze sie poprawi, ale to nie usprawiedliwia faktu, ze ignorujesz co sie do ciebie pisze. I to przez caly ten watek, wielokrotnie musialem sie przypominac ze ciebie o cos prosilem a ty tego nie zrobiles, wielokrotnie pokazywalel co ma byc, a ty robiles inaczej.

Go to the top of the page
+Quote Post
sauber94
post
Post #44





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

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


  1. public static function index() {
  2. $resources = new Resources();
  3. Form::post(['id_pracownika', 'id_samochodu', 'kilometry', 'czas'], function () {
  4. $id_pracownika = $_POST['id_pracownika'];
  5. $id_samochodu = $_POST['id_samochodu'];
  6. $kilometry = $_POST['kilometry'];
  7. $czas = $_POST['czas'];
  8. $r = new Resources();
  9. $employee = $r->getEmployee($id_pracownika);
  10. $car = $r->getCar($id_samochodu);
  11. $koszt = $stawka * $czas + $koszt_km * $kilometry;
  12. $r->createOrders($id_pracownika, $id_samochodu, $kilometry, $czas);
  13. header('Location: /zlecenie');
  14. });


Tak to ma być? Bo tylko kawałek kodu z tym wysyłałeś.
Go to the top of the page
+Quote Post
nospor
post
Post #45





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Tak, tylko kawalek kodu, bo liczylem ze na jego podstawie reszte dorobisz. Napisalem ci przeciez skad masz wziasc takie wartosci jak STAWKA czy KOSZ ZA KM. A ty co? A ty nadal uzywasz zmienne $stawka czy $koszt_km bez pobranych ich wartosci. No same sie z komsosu nie wezma. Napisalem ci wyraznie gdzie sa i skad masz je wziasc

Napisalem, ze getEmployee() zwraca ci dane pracownika, w tym i jego stawke. Te dane to tablica. Jak nie wiesz co to tablica i jak z nia pracowac to lektura obowiazkowa
https://www.php.net/manual/en/language.types.array.php
Go to the top of the page
+Quote Post
viking
post
Post #46





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


A takie podstawowe pytanie. Włączyłeś raportowanie błędów? Temat przyklejony na forum. Bo skąd np w tym kodzie wzięła się $stawka?
Go to the top of the page
+Quote Post
sauber94
post
Post #47





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

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


nospor jakiś przykład jak to powinno wyglądać mógłbyś napisać? Kobinuję i mi to nie wychodzi. Wcześniej koszt pokazywał mi 1 teraz pojawia się 2 więc dalej źle robię. Krótki jakiś przykład nad którym mogę się wzorować.

viking nie, nie włączałem raportowania błędów
Go to the top of the page
+Quote Post
nospor
post
Post #48





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Wyciagnales te stawki z tej tablicy jak napisalem? Pokaz kod
Go to the top of the page
+Quote Post
sauber94
post
Post #49





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

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


  1. public static function index() {
  2. $resources = new Resources();
  3. Form::post(['id_pracownika', 'id_samochodu', 'kilometry', 'czas', 'koszt'], function () {
  4. $id_pracownika = $_POST['id_pracownika'];
  5. $id_samochodu = $_POST['id_samochodu'];
  6. $kilometry = $_POST['kilometry'];
  7. $czas = $_POST['czas'];
  8. $r = new Resources();
  9. $employee = $r->getEmployee($id_pracownika);
  10. $stawka = ['stawka'];
  11. $car = $r->getCar($id_samochodu);
  12. $koszt_km = ['koszt_km'];
  13. $koszt = $stawka * $czas + $koszt_km * $kilometry;
  14. $r->createOrders($id_pracownika, $id_samochodu, $kilometry, $czas, $koszt);
  15. header('Location: /zlecenie');
  16. });


Czytam po kilka razy co mi piszesz i dalej nie mogę niektórych rzeczy pojąć. Wiem, że stawkę mam wyciągnąć z pracownika, koszt_km z samochodu, ale nie umiem tego no napisać. Prosta rzecz, przed którą się ośmieszam.

Ten post edytował sauber94 5.02.2020, 22:16:59
Go to the top of the page
+Quote Post
nospor
post
Post #50





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Zobacz, o tu
$_POST['kilometry'];
wyciagasz wartosc kilometry z tablicy $_POST

To jest doslownie pare linijek nad tym ['stawka']... pare linijek wyzej...

znajdz 10 roznic
$_POST['kilometry']
['stawka']

a nastepnie popraw to w koncu jak trzeba
Go to the top of the page
+Quote Post
sauber94
post
Post #51





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

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


  1. public static function index() {
  2. $resources = new Resources();
  3. Form::post(['id_pracownika', 'id_samochodu', 'kilometry', 'czas', 'koszt'], function () {
  4. $id_pracownika = $_POST['id_pracownika'];
  5. $id_samochodu = $_POST['id_samochodu'];
  6. $kilometry = $_POST['kilometry'];
  7. $czas = $_POST['czas'];
  8. $r = new Resources();
  9. $employee = $r->getEmployee($id_pracownika);
  10. $stawka = $employee['stawka'];
  11. $car = $r->getCar($id_samochodu);
  12. $koszt_km = $car['koszt_km'];
  13. $koszt = $stawka * $czas + $koszt_km * $kilometry;
  14. $r->createOrders($id_pracownika, $id_samochodu, $kilometry, $czas, $koszt);
  15. header('Location: /zlecenie');
  16. });


Ten post edytował sauber94 5.02.2020, 23:14:39
Go to the top of the page
+Quote Post
nospor
post
Post #52





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Napisz mi prosze, po co w takim razie mamy to
$employee = $r->getEmployee($id_pracownika);
?
Go to the top of the page
+Quote Post
sauber94
post
Post #53





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

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


W tablicy $employee mamy dane pracownika.

Ten post edytował sauber94 5.02.2020, 23:15:40
Go to the top of the page
+Quote Post
nospor
post
Post #54





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Brawo. W tablicy $employee masz dane pracownika. To powiedz mi, po grzyba szukasz tych danych w tablicy $_POST? Tylko prosze, nie mow, ze to ja ci kazalem tam ich szukac.
Go to the top of the page
+Quote Post
sauber94
post
Post #55





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

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


Edytowałem post z kodem na górze. Koszt dalej się nie zlicza. (IMG:style_emoticons/default/sad.gif)

Ten post edytował sauber94 5.02.2020, 23:23:58
Go to the top of the page
+Quote Post
nospor
post
Post #56





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




To teraz przed toba najwazniejsza lekcja calego zycia: DEBUGOWANIE.
Mimo, ze najwazniejsza, to jedna z latwiejszych

DEBUGOWANIE - czyli poprostu sprawdzanie krok po kroku co sie dzieje. W tym wypadku - poprostu sprawdzenie co zawiera kazda zmienna brana do wyliczen

  1. $employee = $r->getEmployee($id_pracownika);
  2. var_dump($employee);
  3. $stawka = $employee['stawka'];
  4. $car = $r->getCar($id_samochodu);
  5. var_dump($car);
  6. $koszt_km = $car['koszt_km'];
  7. $koszt = $stawka * $czas + $koszt_km * $kilometry;
  8. var_dump($koszt);


I blagam przestan edytowac swoje posty gdy wstawiasz nowy kod. Poprostu wstawiaj go w nowym poscie.... Przez te twoje edycje czesc moich postow wyglada teraz debilnie bo odnosza sie do kodu, ktory juz nie istnieje...
Go to the top of the page
+Quote Post
sauber94
post
Post #57





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

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


Dosyć sporo błędów.

Kod
object(PDOException)#9 (8) { ["message":protected]=> string(67) "SQLSTATE[HY093]: Invalid parameter number: no parameters were bound" ["string":"Exception":private]=> string(0) "" ["code":protected]=> string(5) "HY093" ["file":protected]=> string(71) "/httpdocs/zlecenie/models/Resources.php" ["line":protected]=> int(31) ["trace":"Exception":private]=> array(8) { [0]=> array(6) { ["file"]=> string(71) "/httpdocs/zlecenie/models/Resources.php" ["line"]=> int(31) ["function"]=> string(7) "execute" ["class"]=> string(12) "PDOStatement" ["type"]=> string(2) "->" ["args"]=> array(0) { } } [1]=> array(6) { ["file"]=> string(75) "/httpdocs/zlecenie/controllers/Homepage.php" ["line"]=> int(13) ["function"]=> string(11) "getEmployee" ["class"]=> string(9) "Resources" ["type"]=> string(2) "->" ["args"]=> array(1) { [0]=> string(2) "18" } } [2]=> array(6) { ["file"]=> string(64) "/httpdocs/zlecenie/core/Form.php" ["line"]=> int(14) ["function"]=> string(9) "{closure}" ["class"]=> string(8) "Homepage" ["type"]=> string(2) "::" ["args"]=> array(0) { } } [3]=> array(6) { ["file"]=> string(75) "/httpdocs/zlecenie/controllers/Homepage.php" ["line"]=> int(24) ["function"]=> string(4) "post" ["class"]=> string(4) "Form" ["type"]=> string(2) "::" ["args"]=> array(2) { [0]=> array(5) { [0]=> string(13) "id_pracownika" [1]=> string(12) "id_samochodu" [2]=> string(9) "kilometry" [3]=> string(5) "koszt" [4]=> string(14) "czas" } [1]=> object(Closure)#4 (0) { } } } [4]=> array(6) { ["file"]=> string(61) "/httpdocs/zlecenie/Routes.php" ["line"]=> int(12) ["function"]=> string(5) "index" ["class"]=> string(8) "Homepage" ["type"]=> string(2) "::" ["args"]=> array(0) { } } [5]=> array(4) { ["file"]=> string(65) "/httpdocs/zlecenie/core/Route.php" ["line"]=> int(25) ["function"]=> string(9) "{closure}" ["args"]=> array(0) { } } [6]=> array(6) { ["file"]=> string(61) "/httpdocs/zlecenie/Routes.php" ["line"]=> int(13) ["function"]=> string(3) "set" ["class"]=> string(5) "Route" ["type"]=> string(2) "::" ["args"]=> array(2) { [0]=> string(1) "/" [1]=> object(Closure)#2 (0) { } } } [7]=> array(4) { ["file"]=> string(60) "/httpdocs/zlecenie/index.php" ["line"]=> int(12) ["args"]=> array(1) { [0]=> string(61) "/httpdocs/zlecenie/Routes.php" } ["function"]=> string(12) "require_once" } } ["previous":"Exception":private]=> NULL ["errorInfo"]=> array(2) { [0]=> string(5) "HY093" [1]=> int(0) } }
Notice: Use of undefined constant employee - assumed 'employee' in /httpdocs/zlecenie/controllers/Homepage.php on line 15

Warning: Illegal string offset 'stawka' in /httpdocs/zlecenie/controllers/Homepage.php on line 15
object(PDOException)#10 (8) { ["message":protected]=> string(67) "SQLSTATE[HY093]: Invalid parameter number: no parameters were bound" ["string":"Exception":private]=> string(0) "" ["code":protected]=> string(5) "HY093" ["file":protected]=> string(71) "/httpdocs/zlecenie/models/Resources.php" ["line":protected]=> int(66) ["trace":"Exception":private]=> array(8) { [0]=> array(6) { ["file"]=> string(71) "/httpdocs/zlecenie/models/Resources.php" ["line"]=> int(66) ["function"]=> string(7) "execute" ["class"]=> string(12) "PDOStatement" ["type"]=> string(2) "->" ["args"]=> array(0) { } } [1]=> array(6) { ["file"]=> string(75) "/httpdocs/zlecenie/controllers/Homepage.php" ["line"]=> int(16) ["function"]=> string(6) "getCar" ["class"]=> string(9) "Resources" ["type"]=> string(2) "->" ["args"]=> array(1) { [0]=> string(1) "6" } } [2]=> array(6) { ["file"]=> string(64) "/httpdocs/zlecenie/core/Form.php" ["line"]=> int(14) ["function"]=> string(9) "{closure}" ["class"]=> string(8) "Homepage" ["type"]=> string(2) "::" ["args"]=> array(0) { } } [3]=> array(6) { ["file"]=> string(75) "/httpdocs/zlecenie/controllers/Homepage.php" ["line"]=> int(24) ["function"]=> string(4) "post" ["class"]=> string(4) "Form" ["type"]=> string(2) "::" ["args"]=> array(2) { [0]=> array(5) { [0]=> string(13) "id_pracownika" [1]=> string(12) "id_samochodu" [2]=> string(9) "kilometry" [3]=> string(5) "koszt" [4]=> string(14) "czas" } [1]=> object(Closure)#4 (0) { } } } [4]=> array(6) { ["file"]=> string(61) "/httpdocs/zlecenie/Routes.php" ["line"]=> int(12) ["function"]=> string(5) "index" ["class"]=> string(8) "Homepage" ["type"]=> string(2) "::" ["args"]=> array(0) { } } [5]=> array(4) { ["file"]=> string(65) "/httpdocs/zlecenie/core/Route.php" ["line"]=> int(25) ["function"]=> string(9) "{closure}" ["args"]=> array(0) { } } [6]=> array(6) { ["file"]=> string(61) "/httpdocs/zlecenie/Routes.php" ["line"]=> int(13) ["function"]=> string(3) "set" ["class"]=> string(5) "Route" ["type"]=> string(2) "::" ["args"]=> array(2) { [0]=> string(1) "/" [1]=> object(Closure)#2 (0) { } } } [7]=> array(4) { ["file"]=> string(60) "/httpdocs/zlecenie/index.php" ["line"]=> int(12) ["args"]=> array(1) { [0]=> string(61) "/httpdocs/zlecenie/Routes.php" } ["function"]=> string(12) "require_once" } } ["previous":"Exception":private]=> NULL ["errorInfo"]=> array(2) { [0]=> string(5) "HY093" [1]=> int(0) } }
Notice: Use of undefined constant car - assumed 'car' in /httpdocs/zlecenie/controllers/Homepage.php on line 18

Warning: Illegal string offset 'koszt_km' in /httpdocs/zlecenie/controllers/Homepage.php on line 18
int(0)
Go to the top of the page
+Quote Post
nospor
post
Post #58





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




No i masz czarno na bialym co jest zle. W niektorych momentach masz nawet dokladnie napisane gdzie jest zle i co. Wystarczy poprawic
Go to the top of the page
+Quote Post
sauber94
post
Post #59





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

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


Jeszcze tylko trochę:
Kod
array(0) { }
Notice: Use of undefined constant employee - assumed 'employee' in /httpdocs/zlecenie/controllers/Homepage.php on line 17

Warning: Illegal string offset 'stawka' in /httpdocs/zlecenie/controllers/Homepage.php on line 17
array(0) { }
Notice: Use of undefined constant car - assumed 'car' in /httpdocs/zlecenie/controllers/Homepage.php on line 20

Warning: Illegal string offset 'koszt_km' in /httpdocs/zlecenie/controllers/Homepage.php on line 20
int(0)

Go to the top of the page
+Quote Post
nospor
post
Post #60





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




array 0 to niestety tez zly wynik.

Pokaz kod klasy po zmianach oraz kod tego homepage.php
Go to the top of the page
+Quote Post
sauber94
post
Post #61





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

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


  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. }



  1. public function getEmployee($)
  2. {
  3. $response = false;
  4. try {
  5. $pdo = new ConnectionDatabase();
  6. $db = $pdo->connect();
  7. $query = $db->prepare("SELECT * FROM pracownik WHERE id_pracownika = :id");
  8. $query->bindParam(':id', $id);
  9. $query->execute();
  10. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  11.  
  12. } catch (PDOException $e) {
  13. $response = $e;
  14. }
  15.  
  16. return $response;
  17. }


  1. public function getCar()
  2. {
  3. $response = false;
  4. try {
  5. $pdo = new ConnectionDatabase();
  6. $db = $pdo->connect();
  7. $query = $db->prepare("SELECT * FROM samochod WHERE id_samochodu = :id");
  8. $query->bindParam(':id', $id);
  9. $query->execute();
  10. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  11.  
  12. } catch (PDOException $e) {
  13. $response = $e;
  14. }
  15.  
  16. return $response;
  17. }
Go to the top of the page
+Quote Post
nospor
post
Post #62





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Ja naprawde nie ogarniam tych glupot, bo inaczej juz tego nazwac nie mozna, ktore robisz....

employee['stawka'];

Czemu nagle usunales ztego $? Przeciez $ oznacza zmienna a ty to nagle radosnie usunales....

Tak ma byc
$employee['stawka'];
Komunikat bledy wyraznie o tym mowil

Kolejne
public function getEmployee($)
co to jest??
Przeciez przekazywales tam ID i nagle zniknelo. Samo wyparowalo?
public function getEmployee($id)


To samo tutaj
public function getCar()
.....

public function getCar($id)
Go to the top of the page
+Quote Post
sauber94
post
Post #63





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

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


Kod
array(1) { [0]=> array(4) { ["id_pracownika"]=> string(2) "18" ["imie"]=> string(6) "Maciek" ["nazwisko"]=> string(6) "Zając" ["stawka"]=> string(2) "20" } }
Notice: Undefined index: stawka in /httpdocs/zlecenie/controllers/Homepage.php on line 17
array(1) { [0]=> array(4) { ["id_samochodu"]=> string(1) "6" ["marka"]=> string(2) "VW" ["model"]=> string(4) "POLO" ["koszt_km"]=> string(1) "2" } }
Notice: Undefined index: koszt_km in /httpdocs/zlecenie/controllers/Homepage.php on line 20

Notice: Undefined variable: koszt in /httpdocs/zlecenie/controllers/Homepage.php on line 21
NULL



  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. }


  1. public function getEmployee($id)
  2. {
  3. $response = false;
  4. try {
  5. $pdo = new ConnectionDatabase();
  6. $db = $pdo->connect();
  7. $query = $db->prepare("SELECT * FROM pracownik WHERE id_pracownika = :id");
  8. $query->bindParam(':id', $id);
  9. $query->execute();
  10. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  11.  
  12. } catch (PDOException $e) {
  13. $response = $e;
  14. }
  15.  
  16. return $response;
  17. }


  1. public function getCar($id)
  2. {
  3. $response = false;
  4. try {
  5. $pdo = new ConnectionDatabase();
  6. $db = $pdo->connect();
  7. $query = $db->prepare("SELECT * FROM samochod WHERE id_samochodu = :id");
  8. $query->bindParam(':id', $id);
  9. $query->execute();
  10. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  11.  
  12. } catch (PDOException $e) {
  13. $response = $e;
  14. }
  15.  
  16. return $response;
  17. }
Go to the top of the page
+Quote Post
nospor
post
Post #64





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Wczesniej miales
return $response[0];

teraz masz
return $response;

Zmieniasz kod w jednym miejscu ale nie dostosowujesz zmian w innym to ci przestaje dzialac. To wyglada jakbys walil na chybil trafil w klawiature i co wyjdzie to wyjdzie i bach na forum
Go to the top of the page
+Quote Post
sauber94
post
Post #65





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

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


Kod
array(4) { ["id_pracownika"]=> string(2) "19" ["imie"]=> string(4) "Adam" ["nazwisko"]=> string(5) "Nowak" ["stawka"]=> string(2) "12" } array(4) { ["id_samochodu"]=> string(1) "6" ["marka"]=> string(2) "VW" ["model"]=> string(4) "POLO" ["koszt_km"]=> string(1) "2" }
Notice: Undefined variable: koszt in /httpdocs/zlecenie/controllers/Homepage.php on line 21
NULL


  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. }


  1. public function getEmployee($id)
  2. {
  3. $response = false;
  4. try {
  5. $pdo = new ConnectionDatabase();
  6. $db = $pdo->connect();
  7. $query = $db->prepare("SELECT * FROM pracownik WHERE id_pracownika = :id");
  8. $query->bindParam(':id', $id);
  9. $query->execute();
  10. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  11.  
  12. } catch (PDOException $e) {
  13. $response = $e;
  14. }
  15.  
  16. return $response[0];
  17. }


  1. public function getCar($id)
  2. {
  3. $response = false;
  4. try {
  5. $pdo = new ConnectionDatabase();
  6. $db = $pdo->connect();
  7. $query = $db->prepare("SELECT * FROM samochod WHERE id_samochodu = :id");
  8. $query->bindParam(':id', $id);
  9. $query->execute();
  10. $response = $query->fetchAll(PDO::FETCH_ASSOC);
  11.  
  12. } catch (PDOException $e) {
  13. $response = $e;
  14. }
  15.  
  16. return $response[0];
  17. }


Ten post edytował sauber94 7.02.2020, 10:47:22
Go to the top of the page
+Quote Post
nospor
post
Post #66





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Pokazuj kod, ktory aktualnie masz a nie wyczyszczony. Blad co teraz masz nie odpowiada kodowi

Kolejna sprawa: co to kurcze jest
$r->createOrders($id_pracownika, $id_samochodu, $kilometry, $koszt, $wartosc_uslugi, $typ_uslugi, $czasochlonnosc);
Skad ci sie nagle wytrzasnelo $wartosc_uslugi, $typ_uslugi, $czasochlonnosc ?
Go to the top of the page
+Quote Post
sauber94
post
Post #67





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

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


$wartosc_uslugi, $typ_uslugi, $czasochlonnosc
Dodałem do kodu, bo w formularzu dodałem nowe inputy, jeżeli trzeba to mogę usunąć by nie drażniło.



Kod
array(4) { ["id_pracownika"]=> string(2) "19" ["imie"]=> string(4) "Adam" ["nazwisko"]=> string(5) "Nowak" ["stawka"]=> string(2) "12" } array(4) { ["id_samochodu"]=> string(1) "6" ["marka"]=> string(2) "VW" ["model"]=> string(4) "POLO" ["koszt_km"]=> string(1) "2" } int(924)


Tu raczej problem związany z bazą nie będzie?

  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. var_dump($employee);
  17. $stawka = $employee['stawka'];
  18. $car = $r->getCar($id_samochodu);
  19. var_dump($car);
  20. $koszt_km = $car['koszt_km'];
  21. $koszt = $czasochlonnosc * $stawka + $kilometry * $koszt_km;
  22. var_dump($koszt);
  23. $r->createOrders($id_pracownika, $id_samochodu, $kilometry, $koszt, $wartosc_uslugi, $typ_uslugi, $czasochlonnosc);
  24. header('Location: /zlecenie');
  25. });
  26.  
  27. return [
  28. 'orders' => $resources->getOrders(),
  29. 'employees' => $resources->getEmployees(),
  30. 'employee' => $resources->getEmployee(),
  31. 'cars' => $resources->getCars(),
  32. 'car' => $resources->getCar()
  33. ];
  34. }
  35.  
  36. public static function delete() {
  37. Form::post(['id'], function () {
  38. $id = $_POST['id'];
  39. $r = new Resources();
  40. $r->deleteOrder($id);
  41. header('Location: /zlecenie');
  42. });
  43.  
  44. return [
  45. ];
  46. }
  47. }


Ten post edytował sauber94 7.02.2020, 10:57:12
Go to the top of the page
+Quote Post
nospor
post
Post #68





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




var_dump($koszt);
exit;
$koszt = $czasochlonnosc * $stawka + $kilometry * $koszt_km;

Naprawde nei widzisz tu jakiegos problemu? Nawet jak php wyraznie pluje ci oczywistym bledem? Naprawde musze ci ja to jeszcze pisac? Juz nie bede nawet pisal o tym, ze ja ci podalem poprawny kod na to, ktory ty jak zwykle przeinaczyles bezmyslnie

Cytat
$wartosc_uslugi, $typ_uslugi, $czasochlonnosc
Dodałem do kodu, bo w formularzu dodałem nowe inputy, jeżeli trzeba to mogę usunąć by nie drażniło.

Czyli to sa dodatkowe pola, ktora zapisujesz celowo w bazie? No to maja zostac. Myslalem ze to co innego niz jest
Go to the top of the page
+Quote Post
sauber94
post
Post #69





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

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


var_dump($koszt);
exit;
$koszt = $czasochlonnosc * $stawka + $kilometry * $koszt_km;

Kurcze myślałem, że nie przeczytasz tak szybko mojego posta bo zorientowałem się i edytowałem post ale ty odpisałeś widząc ten błąd..
Tak, to są dodatkowe pola i z nimi wszystko jest okej, działają poprawnie.

Ten post edytował sauber94 7.02.2020, 11:06:41
Go to the top of the page
+Quote Post
nospor
post
Post #70





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Blad z nieistniejaca zmienna $koszt miales juz od paru postow, wiec to nie tak, ze ja szybko przeczytalem poprzedni post. Ja to juz znalem od wczoraj. Liczylem jednak ze przez te kilkanascie godzin sam do tego dojdziesz.


No i co ci teraz zwraca
var_dump($koszt);
?
Masz tam juz poprawna wartosc?
Go to the top of the page
+Quote Post
sauber94
post
Post #71





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
nospor
post
Post #72





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
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
A nie mogles na to wpasc po tym jak php plul ci bledem, ze uzywasz zmiennej ktora nie istnieje? I php na dodatek wyraznie pisal jaka zmienna, w ktorym pliku i w ktorej linii. Czemu nie czytasz tych bledow?

Czemu nie czytasz kolejnych bledow, ktore php ci sypie
"
Warning: Missing argument 1 for Resources::getEmployee(), called in /httpdocs/zlecenie/controllers/Homepage.php on line 27
"
Przeciez jak wol masz napisane co zle w ktorym pliku i w ktorej linii. Ciezko tam zajrzec?
Go to the top of the page
+Quote Post
sauber94
post
Post #73





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

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


Zrobione, działa tak jak należy.
Bardzo Ci dziękuję za cierpliwość i pomoc.

Doszła mi tabela MATERIALY_PRZYDZIELONE, która wygląda następująco:
- id_materialu_przydzielonego
- id_zlecenia
- id_ materialu
- ilosc

Prócz tego jest tabela MATERIALY:
- id_materialu
- nazwa
- ilosc
- wartosc

Oraz standardowo tabela ZLECENIE
- id_zlecenia
- id_pracownika
- id_samochodu
- data_uslugi
- kilometry
- czasochlonnosc
- wartosc_uslugi
- typ_uslugi
- koszt

Mając dodane zlecenie do bazy, mam możliwość danemu zleceniu przydzielić materiały które lądują w tabeli MATERIALY_PRZYDZIELONE. Ostatnio przy pomocy stworzyliśmy wyliczanie kosztu zlecenia, pasuje mi teraz podpiąć do kosztu te materiały_przydzielone a łatwo nie jest bo jak wiadomo koszt zlicza się w tabeli ZLECENIE a kompletnie nie wiem jak zabrać się by z MATERIALY_PRZYDZIELONE dołączyć do tego kosztu.
Go to the top of the page
+Quote Post
nospor
post
Post #74





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Pytasz juz o to tutaj
http://forum.php.pl/index.php?showtopic=26...p;#entry1249482
Naprawde nie ma sensu jednego problemu walkowac w dwoch watkach. Jako ze oryginalny problem jest juz skonczony, a na nowy masz juz temat zalozony, ten moge smialo zamknac
Go to the top of the page
+Quote Post

4 Stron V   1 2 3 > » 
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: 15.10.2025 - 11:49