![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Cześć, zmagam się z pewnym zadaniem, ze z góry narzuconymi regułami. W skrócie to mały, prosty sklepik internetowy, który w całości ma powstać obiektowo. Programowanie proceduralne dozwolone jest tylko do zainicjowania klas. I jedno z wymagań mówi aby unikać konstrukcji warunkowych (if-else oraz switch) do radzenia sobie z różnicami w produktach. Jako że obiektowo programować dopiero się uczę, to nie wiem czy jest może jakieś oczywiste rozwiązanie pozwalające na nieużywanie warunków.
Załózmy, że mam w bazie tabelę PRODUKT z takimi kolumnami oraz danymi: Kod ID | name | typ| MB | ilosc_stron | szerokosc | wysokosc | glebokosc 1 | tetris | dvd | 128 | 0 | 0 | 0 | 0 2 | bilbia | ksiazka | 0 | 1256 | 0 | 0 | 0 3 | stol | mebel | 0 | 0 | 90 | 200 | 60 Jak wdać mam 3 typy produktów (DVD, ksiazka, mebel) i w zależności od tego jaki to typ to odpowiednie kolumny są wypełnione - MB dla dvd, ilosc_stron dla ksiazki i wymiary dla mebli. Zresztą w oddzielnym temacie pytam czy dobrze rozumuję, że tak właśnie powinna baza pod ten cel wyglądać. W każdym razie jak teraz rozróżnić inne akcje do działania na książce, dvd czy meblu kiedy nie mogę zastosować if-else czy switch ? Dzięki. Ten post edytował sadistic_son 15.12.2022, 10:36:08 -------------------- Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami... -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Co do bazy to jak pisalem w innym temacie jest zla no ale wracajac do pytania, to jak najbardziej mozna nie uzywac akruat tutaj IF czy switch. Wystarczy stworzyc tabele w php mowiaca, dla jakiego typu wypelnic jakie tabele
I teraz majac typ, pobhierasz z tablicy pola ktore cie interesuja
I juz. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Odkopuję
![]() Ileż ja się naszukałem tego tematu - 3 strony przedszkola przeczesałem ze 4 razy, zanim sobie przypomniałem, że tutaj (PHP|OOP) jest ten post. @nospor - czyli coś w tym stylu (pisane na szybko z palca) to powinno być? O to ci chodzi? EDIT: Nie no, bez sensu. TO co dałem powyżej to jest źle. Chwila, musze pomyśleć.... Ten post edytował sadistic_son 9.01.2023, 12:42:26 -------------------- Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami... -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie
Zdaje sie masz leciec tylko po tym co podal w select xz forma Nazewnictwo pozatym jak zwykle do 4 liter.... foreach ($types['select z forma'] as $wlasciwosci) { I tu petla po $wlasciwosci i sobie pobierasz z POST te wlasciwosci } I przenosze. Jakic cudem to na OOP siedzi jeszcze -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Dobra, a więc uaktualniając temat, to baza wygląda tak:
Kod products: id | name | type 1 | Krzyzacy | book 2 | Rambo | dvd 3 | Table | furniture property: id | type | propoerty 1 | book | weight 2 | dvd |size 3 | furniture | height 4 | furniture | width 5 | furniture | lenght product_propoerty: id | product_id | propoerty_id | value 1 | 1 | 1 | 0.5 (Krzyzacy | weight | 0.5 ) 2 | 2 | 2 | 650 (Rambo | size | 650 ) 3 | 3 | 3 | 60 (Table | height | 60) 4 | 3 | 4 | 90 (Table | width | 90) 5 | 3 | 5 | 180 (Table | lenght | 180) I teraz takie coś: Dobrze rozumuję nospor, biorąc pod uwagę twoje sugestie? Ten post edytował sadistic_son 9.01.2023, 13:25:27 -------------------- Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami... -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie, totalnei zle.
Zapomnij o tym if (isset($_POST['size'])) $givenProperties['size'] = $_POST['size']; if (isset($_POST['weight'])) $givenProperties['weight'] = $_POST['weight']; if (isset($_POST['width'])) $givenProperties['width'] = $_POST['width']; if (isset($_POST['height'])) $givenProperties['height'] = $_POST['height']; if (isset($_POST['length'])) $givenProperties['length'] = $_POST['length']; Przeciez ty nei wiesz ze jest property height, width size czy jakakowliek inna. Te dane sa w bazie. A to $types = array('book' => 'weight', 'dvd' => 'size', 'furniture' => array('width', 'height', 'lenght')); porownaj sobie jak wygladalo zbudowane przeze mnie w pierwszym poscie. przeciez ja tam dalem wszedzie tablice, nawet na jeden element, a ty sobie radosnie tablice zamienies na teksty.... I jak juz porownasz to wowczas ta tablice $types ma byc zbudowana na podstawie danych w bazie. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Wtakim razie tak?
I jak juz porownasz to wowczas ta tablice $types ma byc zbudowana na podstawie danych w bazie. Yyyyy, muszę pomyśleć jak to zrobić.
-------------------- Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami... -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Yyyyy, muszę pomyśleć jak to zrobić. Przeciez juz to robiles przynajmniej dwa razy. GRUPOWANIE DANYCH. TO jest dokladnie to co masz zrobic by zbudowac te tablice -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Tak, na to wpadłem, po fajeczce się za to zabiorę. A czy mój powyższy kod (pomijając tworzenie tablicy) to dobra droga?
Nie ma zabezpieczenia przed sytuacją gdzie user poda typ 'dvd' a do niego wagę oraz wysokość. Ale do tego wrócę jak już w ogóle wrzucanie do bazy będzie działać. Ten post edytował sadistic_son 9.01.2023, 13:52:59 -------------------- Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami... -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No ale ciagle jest zle bo cialge nie czytasz co do ciebie pisze oraz nei raczysz przenaluizowac.
Przeciez ci mowilem, ze w types masz tablice wlasciwosci a ty ciagle FOREACH piszesz jaby tam byl jeden element nie foreach ($types[$selectedType] as $propertyIndex => $propertyValue) { a foreach ($types[$selectedType] as $propertyIndex => $PROPERTIES) { i $PROPERTIES to tablica wiec ma byc jescze jeden FOREASCH po PROPERTIES. Nie kaz mi tego pisac po raz 10ty prosze -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
No dobra, dotarło. Czyli teraz tak...
To moja funkcja zwracająca pogrupowane properties: Ona zwraca tablicę wyglądającą tak: Kod Array Ja stąd potrzebuję jedynie 'properties', czyli tablicę która będzie wyglądać tak:( [Book] => Array ( [0] => Array ( [property] => weight [label] => Weight (kg) [description] => Please provide the weight of book in kg. ) ) [DVD] => Array ( [0] => Array ( [property] => size [label] => Size (MB) [description] => Please provide size of DVD in MB. ) ) [Furniture] => Array ( [0] => Array ( [property] => width [label] => Width (cm) [description] => Please provide dimentions in WxHxL format. ) [1] => Array ( [property] => height [label] => Height (cm) [description] => Please provide dimentions in WxHxL format. ) [2] => Array ( [property] => length [label] => Length (cm) [description] => Please provide dimentions in WxHxL format. ) ) ) Wygląda nieco inaczej niż to co podałeś, ale myślę, że warto użyć już istniejącej metody zamiast pisać nową, robiącą niemalże to samo (don't repeat yourself ![]() Teraz kod realizujący dodawanie. Na razie bezczelnie wrzucam input od usera, bez czyszczenia POST, bez bindowania, itd. No i teraz problem jest taki, że user może wpisać dane dla innego typu, np poda typ 'dvd' ale wpisze właściwości dla mebla (wysokość, szerokość). Tak więc produkt w takim przypadku nie powinien się w ogóle dodawać (pierwszy insert). Do pętli go wrzucić nie mogę, bo nie ważne ile jest właściwości properties, to produkt musi się dodać tylko raz. Jakieś sugestie jak z tego wybrnąć? -------------------- Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami... -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Dobra, widze ze chyba ja wczesniej pojechalem bez sensu..
Ale od poczatku Do tych danych [property] => width [label] => Width (cm) [description] => Please provide dimentions in WxHxL format. Dodaj jeszcze property_id Po grzyba masz potem w petli latac po to id, skoro mozesz je miec od razu A potem petla:
Zainetersuj sie BINDowaniem bo przykro sie patrzy na te inserty ![]() Cytat No i teraz problem jest taki, że user może wpisać dane dla innego typu, np poda typ 'dvd' ale wpisze właściwości dla mebla (wysokość, szerokość). Tak więc produkt w takim przypadku nie powinien się w ogóle dodawać (pierwszy insert). Do pętli go wrzucić nie mogę, bo nie ważne ile jest właściwości properties, to produkt musi się dodać tylko raz. Jakieś sugestie jak z tego wybrnąć? No i co z tego ze wypelni inne pola? Ty z post w petli bierzesz tylko pola z danego typu a nie wszystkie -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
[property] => width No racja, bez sensu SELECTy mnożyć, skoro dane są na wyciągnięcie ręki. Dodane.[label] => Width (cm) [description] => Please provide dimentions in WxHxL format. Dodaj jeszcze property_id Po grzyba masz potem w petli latac po to id, skoro mozesz je miec od razu Pętelka działa cacy. Dzięki. Zainetersuj sie BINDowaniem bo przykro sie patrzy na te inserty Tak, mam już gdzieniegdzie nawet pokomentowane bindowanie zapytań. Ale jeszcze słabo to ogarniam (choć to nie jest nic nadzwyczajnego), więc jak kod będzie działać, to wtedy dodam bindowanie.![]() No i co z tego ze wypelni inne pola? Ty z post w petli bierzesz tylko pola z danego typu a nie wszystkie No dla product_properties tak jest jak mówisz. Ale zauważ, że najpierw trzeba dodac produkt, żeby znać jego ID. I to realizują linijki 6-8 z mojego kodu wyżej. A nie można wrzucić tego w pętlę do sprawdzenia czy typ istnieje w tablicy typów, no bo produkt ma się dodać tylko raz - wynika to z bazy, na której konstrukcję sam mnie naproawdziłeś TUTAJ. -------------------- Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami... -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat No dla product_properties tak jest jak mówisz. Ale zauważ, że najpierw trzeba dodac produkt, żeby znać jego ID. I to realizują linijki 6-8 z mojego kodu wyżej. A nie można wrzucić tego w pętlę do sprawdzenia czy typ istnieje w tablicy typów, no bo produkt ma się dodać tylko raz - wynika to z bazy, na której konstrukcję sam mnie naproawdziłeś TUTAJ. No bo prawidlowo najpierw sie robi walidacje wszystkiego, czy wszystko jest ok itp a dopiero potem sie robi dodawanie. Ty nie masz zadnej walidacji, to jest jak jest -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem, że walidacja jest niezbędna, tylko jak ją zrobić bez użycia konstrukcji warunkowych, bez ifów czy switchy? Jak bez tego mam sprawdzić czy to co user wysłał POSTem jest ok z tym co mam w bazie? Musiałbym na jakiejś zasadzie sprawdzić czy wartość z selecta (dvd, book, furniture) jest w tablicy wypełnionych inputów tekstowych, ale i tutaj nie mam pomysłu jak to zrobić bez warunków, czy to przy użyciu in_array, czy array_search itd.
Ten post edytował sadistic_son 9.01.2023, 22:53:36 -------------------- Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami... -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 403 Pomógł: 72 Dołączył: 15.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj o klasie Validatora.
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Trochę jest tych klas w wynikach google. Np. TO mnie zainteresowało. Ale to zwaliduje poprawność wpisania danych jak sobie założymy, np. odpowiedni format. Nadal nie rozumiem jak uniknąć konstrukcji warunkowych do porównania inputu z bazą.
Ten post edytował sadistic_son 10.01.2023, 07:25:17 -------------------- Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami... -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 403 Pomógł: 72 Dołączył: 15.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
Tutaj masz paczkę Validatora od Symfony: https://symfony.com/doc/current/components/validator.html
Jak się dobrze wczytasz w dokumentację, to trafisz w końcu na typ `Choice`: https://symfony.com/doc/current/reference/c...nts/Choice.html A teraz poskładaj klocki w całość i działaj. |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Tutaj masz paczkę Validatora od Symfony: https://symfony.com/doc/current/components/validator.html Jak się dobrze wczytasz w dokumentację, to trafisz w końcu na typ `Choice`: https://symfony.com/doc/current/reference/c...nts/Choice.html A teraz poskładaj klocki w całość i działaj. Doceniam Twoją pomoc i naprowadzenie mnie, a wręcz podanie rozwiązania niemalże na tacy. Ale niestety mam w projekcie narzucone jasno: "czyste klasy, żadnych frameworków, podejście OOP". Nie mogę użyć komponentów Symfony ![]() Ten post edytował sadistic_son 10.01.2023, 09:15:49 -------------------- Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami... -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
|
|
![]()
Post
#20
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat tylko jak ją zrobić bez użycia konstrukcji warunkowych, bez ifów czy switchy? Troche za bardzo bierzesz to co miales napisane. Bez ifow to miales znalezc wlasciwe pola z POSTa i to juz masz. A zeby zrobic walidacje to nei da sie nie uzywac IFow i tyle. Wiec nie odlatuj za bardzo ![]() Najlepiej by bylo jakbys do swoich wlasciwosci w bazie dodal jeszcze info o type danych jakie tam mozna wpisac: INT, FLOAT, TEXT i na tej podstawie mozna dokladniej walidowac dane. A jesli nie chcesz tego dodawac to sprawdzaj chociaz czy to nie jest puste Czylu majac swoja tablice properties, lecisz foreach po properties i sprawdzasz empty($_POST[$postIndex]). Jesli ktores jest empty to walisz message i nie przechodzisz do dodawania i cala walidacja. 5 minut roboty. Mozesz jeszcze dodac walidacje na nazwe produktu itp. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 15:05 |