Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz, mnożenie i sumowanie rekordów
Forum PHP.pl > Forum > Przedszkole
Stron: 1, 2
sauber94
  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. });
nospor
Napisz mi prosze, po co w takim razie mamy to
$employee = $r->getEmployee($id_pracownika);
?
sauber94
W tablicy $employee mamy dane pracownika.
nospor
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.
sauber94
Edytowałem post z kodem na górze. Koszt dalej się nie zlicza. sad.gif
nospor
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...
sauber94
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)
nospor
No i masz czarno na bialym co jest zle. W niektorych momentach masz nawet dokladnie napisane gdzie jest zle i co. Wystarczy poprawic
sauber94
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)

nospor
array 0 to niestety tez zly wynik.

Pokaz kod klasy po zmianach oraz kod tego homepage.php
sauber94
  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. }
nospor
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)
sauber94
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. }
nospor
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
sauber94
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. }
nospor
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 ?
sauber94
$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. }
nospor
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
sauber94
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.
nospor
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?
sauber94
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 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. }

nospor
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?
sauber94
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.
nospor
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.