| | |
| Stránka: 1 z 1
| [ Príspevkov: 18 ] | |
Autor | Správa |
---|
Registrovaný: 14.05.13 Prihlásený: 12.03.24 Príspevky: 122 Témy: 47 | Napísal jumper: 05.05.2020 10:12 | |
|
Caute, chcel by som precitat vase nazory/odporucania. Potrebujem vytvorit objednavkovy formular kde si user bude moct pridat poloziek kolko potrebuje (aj 80). Polozky budu mat par vlastnosti (nazov, kod, material, pocet, mj, cena...) cca do 15 moznych atributov. Moja otazka znie: Co je lepsie pre databazu a celkovo pre pracu s objednavkou dalej: - ulozit to do db ako IDorder (jeden stlpec) ITEMSorder (druhy stlpec ale v JSON) - alebo vytvorit tabulku v DB tak ze kazdy atribut bude mat svoj vlastny stlpec a priradovanie bude cez IDorder a IDitems cize kazdy IDitems bude mat rovnake IDorder aby sa to vedelo parovat (co ma velmi nelaka lebo mi to pride dost komplikovane a ci nebude potom casom vela riadkov v tabulke co moze ovplyvnit chod apky). Ide mi hlavne o ulozenie tych poloziek (items) ostatne si uz dorobim ako budem potrebovat. Mne pride rozumnejsie to dat cez JSON do databazy. Videl som pouzite sposoby aj aj tak neviem sa rozhodnut a neviem co ma ktore klady a zapory trochu sa este len zoznamujem s JSON + DB Dik za kazdu radu/nazor/kritiku
|
|
Registrovaný: 01.05.05 Príspevky: 13348 Témy: 1496 Bydlisko: Bratislava | Napísal JanoF: 05.05.2020 10:37 | |
|
Preco chces json ukladat do db?
V db by som mal nejaku tabulku s polozkami co sa daju objednat. Cize tabulka by sa volala trebars Produkty, kazda by mala svoje unikatne id a dalsie informacie o produkte trebars, to je nepodstatne teraz. Dalej by som mal tabulku Objednavky, kde by som mal vsetky objednavky, ktore sa vytvoria, alebo ich vytvoris. Tretiu tabulku by som mal polozky v objednavke a tam by som pouzil unikatne id s objednavky aby som vedel identifikovat ktore riadky v tejto tabulke patria k danej Objednavke a dalsi stlpec by som mal na identifikaciu produktov s tabulky Produkty.
Ci zle rozumiem otazke?
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server |
|
Registrovaný: 14.05.13 Prihlásený: 12.03.24 Príspevky: 122 Témy: 47 | Napísal autor témy jumper: 05.05.2020 11:43 | |
|
ide tu o to, ze je to taka mala webappka pre maly podnik kde im ma vygenerovat objednavkovy list do pdf a samozrejme ukladat vsetky objednavky a zobrazovat v prehladnej tabulke. Objednavka moze obsahovat hocico nieje to dane tym, ze sa nieco len vybera z nejakeho "katalogu" jednoducho clovek tam moze napisat do objednavky napriklad "srubka zavit M8 580ks" a to moze byt rozne moze tam byt "plynova bomba 20L 4ks", "vyroba stitku podla prilozenej dokumentacie 4ks" priklad co ma napadlo. Polozka nazov bude obmedzena na max. 200 znakov.
Ak by to bolo vyber z katalogu samozrejme ako pises
|
|
Registrovaný: 01.05.05 Príspevky: 13348 Témy: 1496 Bydlisko: Bratislava | Napísal JanoF: 05.05.2020 11:46 | |
|
Vzdy novy produkt sa moze ulozit do produktov, cize pri dalsej objednavke uz nebude musiet znova vypisovat srubka zavit M8, len si to vyberie a dopise pocet kusov. Nevidel by som v tom vedu. Stale nechapem ale preco chces ukladat json do db. K comu to je dobre?
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server |
|
Registrovaný: 14.05.13 Prihlásený: 12.03.24 Príspevky: 122 Témy: 47 | Napísal autor témy jumper: 05.05.2020 12:11 | |
|
Pytam sa co by bolo lepsie lebo videl som to aplikovane v par apkach a zadalo sa mi to ako fajn riesenie.
K comu taky JSON sluzi a preco sa to vyuziva aj pri ukladani do db? Respektive preco si proti formatu JSON a ulozenie do db?
|
|
Registrovaný: 19.03.07 Prihlásený: 14.04.24 Príspevky: 7076 Témy: 85 Bydlisko: BA | Napísal void: 05.05.2020 12:46 | |
|
JSON data nie su strukturovane, mozes tam mat napratane hocico potom.
_________________ Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 & Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 & Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN |
|
Registrovaný: 14.05.13 Prihlásený: 12.03.24 Príspevky: 122 Témy: 47 | Napísal autor témy jumper: 05.05.2020 13:48 | |
|
cize v konecnom dosledku bud tak alebo tak? Co je lepsie pouzit v tomto pripade?
|
|
Registrovaný: 19.03.07 Prihlásený: 14.04.24 Príspevky: 7076 Témy: 85 Bydlisko: BA | Napísal void: 05.05.2020 14:42 | |
|
"(nazov, kod, material, pocet, mj, cena...)" podla mna relacna databaza je na toto idealna. JSON ma dalsiu nevyhodu. Jedno zlyhanie a doparsoval si, potom mozes rucne hladata opravovat data. Json je proste skor vhodny na komunikaciu medzi fron/backend, ale pri ukladani dat by som s tym bol opatrnejsi. Aj kvoli tomu ze to je viac prone na pokazenie, aj preto ze tie data nie su potom dahko prehladavatelne v DB. Akonahle by si chcel hladat v datach. Kto si objednal nejakyt produkt za posledny mesiac. Tak musis prejst vsetky zaznamy za mesiac, rozparsovat ich a az potom si z toho robis statistiku.
_________________ Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 & Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 & Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN |
|
Registrovaný: 14.05.13 Prihlásený: 12.03.24 Príspevky: 122 Témy: 47 | Napísal autor témy jumper: 05.05.2020 15:15 | |
|
ok super uz mi to dava viac zmysel ten json. cize ja ten JSON mozem pouzit ako napriklad temp subor pri vytvarani objednavky ze vzdy ked opusti nejaky input cez ajax sa zapisu data do json suboru niekde na ftp a ak ta vytvori tak to potom uz len ulozi a rozdeli do stlpcov v db. Ten temp ide o to, ze ak ma nahodenych uz 8 poloziek a nieco sa stane aby ho nerafil slak
|
|
Registrovaný: 01.05.05 Príspevky: 13348 Témy: 1496 Bydlisko: Bratislava | Napísal JanoF: 05.05.2020 15:19 | |
|
Stale nechapem pouzie jsonu na taku jednoduchu vec co opisujes a naco este do toho montovat nejake ukladanie na ftp?
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server |
|
Registrovaný: 19.03.07 Prihlásený: 14.04.24 Príspevky: 7076 Témy: 85 Bydlisko: BA | Napísal void: 05.05.2020 15:21 | |
|
Zvycajne sa to co pises robi skor tak, ze ak sa post-nu nekompletne data, tak sa z $_POST-u vytiahnu data, predvyplni sa formular tym a potom sa pokracuje s chybovou hlaskou. Neviem presne ako z tech hladiska chces riesit ukladanie do tmp.
_________________ Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 & Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 & Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN |
|
Registrovaný: 14.05.13 Prihlásený: 12.03.24 Príspevky: 122 Témy: 47 | Napísal autor témy jumper: 05.05.2020 15:31 | |
|
Priklad zo zivota: user vytvara objednavku nahodi 20poloziek niekto ho vyrusi musi ist nieco riesit inde vrati sa k tomu o 2< hodin, system je nastaveny na automaticke odhlasenie a tym padom stratil rozpracovanu objednavku.
Pripadne vypadok prudu, sek PC, padnutie prehliadaca alebo nepozornost usera vypne kartu kde ma otvorenu apku a podobne zivotne situacie.
tmp - skript cez javu ak opusti input prebehne cez ajax php skript ktory na ftp vytvori subor /tmp/ID_ORDER.json s nejakou struktorou. Ak user klikne na button VYTVORIT prebehne skript ktory ulozi dane data do db a vymaze temp. Osetrenie proti zbytocnemu bordelu v tmp priecinku - user bude mat info, ze rozpracovane objednavky sa drzia max 48hodin (priklad). Nastavenim cronu prebehne skript ktory precisti tmp zlozku alebo pri kazdom prihlaseni usera prebehne skript ktory bud vykona alebo nevykona precistenie tmp zlozky samozrejme na pozadi.
Blbost?
|
|
Registrovaný: 19.03.07 Prihlásený: 14.04.24 Príspevky: 7076 Témy: 85 Bydlisko: BA | Napísal void: 05.05.2020 15:38 | |
|
Ja by som mu dal len moznost priebezne ulozit objednavku, ale za neho by som to automatizovane neriesil. Ale mna sa na UX nepytaj. Ale ak chces pouzivat json tak mozes aj takto. Ja by som si na to spravil zvlast tabulku, alebo boolean ale skus s json-om. Mozno prides na to preco by som radsej pouzil tabulku vzdy ked sa da Java nie je JS.
_________________ Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 & Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 & Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN |
|
Registrovaný: 14.05.13 Prihlásený: 12.03.24 Príspevky: 122 Témy: 47 | Napísal autor témy jumper: 05.05.2020 17:00 | |
|
ja to asi skusim cez ten JSON - naozaj sa mi to pozdava... mozno sa mylim a o 2 dni vam tu napisem ze mate pravdu je to blbost Co sa tyka toho autosave objednavky to urcite chcem riesit lebo chcem to urobit pre usera co najlepsie a z vlastnej skusenosti viem, ze taketo veci dokazu pekne nasrat, ak sa ti tvoja praca nikde priebezne neuklada a nieco sa stane a prides o to. Jednoducho chcem to vyladit do stavu aby sa uzivatel nebal, ze pride o svoju rozrobenu pracu a ludsky faktor zlyha a priebezne si nebude ukladat svoju pracu aaa uz je ohen na streche. zvlast tabulku myslis ako? Priebezne to ukladat do, nazvime to tmp_order, tabulky? ano viem ze Java nieje JS zle som sa vyjadril ale pochopili sme sa
|
|
| Napísal ux: 05.05.2020 17:59 | |
|
na to aby si vedel, ze to je blbost sa ti staci zamysliet nad use case kedy ty zmazes/upravis produkt v DB a niekto ho ma v kosiku. bez toho aby si robil nejaku zlozitu operaciu nad stlpcami vo forme JSONu sa z toho nevysomaris. jedine na co by som pouzil JSON pri produktoch je len nejaka edge case konfiguracia tj. produkt ma farbu, velkost aj to by som sa zamyslel nad tym ci to stoji za to a neurobit radsej kombinacie produktov ako XL modre tricko, L modre tricko, S zlte tricko a pod. struktura objednavok/kosikov s produktmi je snad najcastejsie riesenia struktura databazy. pozrel by som sa po nejakych ukazkach. ak nie, tak potom sa moze stat, ze budes mat "aha" moment a ten cas ti uz nikto nevrati
|
|
Registrovaný: 14.05.13 Prihlásený: 12.03.24 Príspevky: 122 Témy: 47 | Napísal autor témy jumper: 05.05.2020 18:12 | |
|
dik za rado pozriem to urcite.
Teraz sa uz skor jedna o ten JSON pre pouzitie toho tmp suboru aby neprisiel o rozrobenu pracu, rozhodnutie uz umna padlo na klasicku tabulku v databaze a JSON nebudem ukladat do db. Nechal som si poradit a ulezat to v hlave a fakt to nebude stastne riesenie, mozno ak v buducnosti pri niecom inom lebo videl som aj softiky na baze webapky ktore ukladaju veselo v JSONe a funguje im to bez problemov.
|
|
| Napísal ux: 05.05.2020 18:31 | |
|
v robote mame web appku, kde tiez mame nakupny kosik a obsah kosika drzime v lokalnej pamati prehliadaca (localStorage API) v objekte v tvare { [productId]: [quantity] }. vzdy ked nastane zmena co sa obsahu kosiku tyka (alebo znova nacitanie appky), tak mame API endpoint, kde posleme tento objekt a ten nam zvaliduje stav kosika. 1. ci sa zmenilo nieco s danym produktom, ak ano zobrazime uzivatelovi spravu, ze sa produkt v jeho kosiku zmenil 2. ak produkt uz neexistuje zmazeme ho z jeho kosiku (localStorage.removeItem) a upozornime uzivatela 3. ak pozadovana kvantita uz nie je k dispozicii, nastavime na maximalne mozne cislo (ak chcel 5 mydiel ale na sklade mame len 3 mydla) a ked na sklade nemame nic tak urobime to iste co v kroku 2. ale pochybujem, ze toto je to co potrebujes kedze asi nerobis reaktivnu web appku v JavaScripte/TypeScripte
|
|
Registrovaný: 14.05.13 Prihlásený: 12.03.24 Príspevky: 122 Témy: 47 | Napísal autor témy jumper: 05.05.2020 19:05 | |
|
nieje to co co hladam ale dik za typ. Appku mame vyhradne na PHP, JS sa pouziva len pre nejake ukony co PHP "nezvladne". Takto, webappka nieje appka kde su dane produkty s urcitim mnozstvom. Objednavky sa tvoria pre externych dodavatelov tovaru/sluzby je to interna appka pre nas maly podnik kde sa doteraz na tieto formulare vyuzival excel ale je to proste excel... Appka ma len zjednodusit proces vytvorenia oficialnej objednavky (takto si to ziada vela nasich dodavatelov: hlavickovy papier, peciatka, podpis atd atd). Su nato hotove riesenia ale prenas zbytocne drahe a zbytocne vela veci ktore v tej cene nevyuzijeme preto taketo custom riesenie. Dik panove. Ja to skusim teda s JSONom na tie temp subory aby sa nestalo, ze rozrobena objednavka sa strati. Zvysok si uz ulozim do db klasickym sposobom ako som to videl napriklad u Woocommerce riesenia alebo ako ste mi odporucali. //edit tak urobil so mti pomocou json a funguje to skvele, robi to presne to co chcem. Do db sa zapisuju udaje klasickym sposobom a ten json mi sluzi len ako temp pri vytvarani objednavky. User si vie dokoncit svoju pracu kludne aj na inom PC/mobile co je na jednicku
|
|
| Stránka: 1 z 1
| [ Príspevkov: 18 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| PHP parsovanie json ? v PHP, ASP | 3 | 457 | 23.10.2011 18:05 chrono | | PHP json a id v PHP, ASP | 3 | 337 | 01.11.2013 17:49 chrono | | JSON a PHP - viac input v PHP, ASP | 4 | 394 | 17.04.2020 12:49 jumper | | [VYRIESENE] JSON z Twitteru do PHP v PHP, ASP | 8 | 639 | 27.03.2009 20:44 chvosty | | PHP programátor - PHP, MySQL, jQuery,X)Html/CSS v Ponuka práce | 0 | 1308 | 02.05.2011 12:08 magicmedia | | php ->mysql ->php Help.zoradit v PHP, ASP | 4 | 592 | 20.06.2009 12:44 KViki | | PHP+MySQL, počítadlo v PHP, ASP | 3 | 815 | 09.07.2007 18:19 Tominator | | mysql, php - pripojenie v PHP, ASP | 2 | 429 | 28.06.2012 18:06 Ďuri | | mysql + php problem v PHP, ASP | 3 | 681 | 21.04.2007 14:08 lukasmakac | | Programátor PHP/MySQL v Ponuka práce | 0 | 838 | 23.10.2010 17:06 brownsro1 | | MySQL a PHP v Databázy | 1 | 701 | 03.04.2011 8:09 Ďuri | | PHP a MYSQL v PHP, ASP | 4 | 600 | 10.06.2011 23:12 Sunnynko | | PHP a MySQL v PHP, ASP | 4 | 385 | 23.09.2013 23:50 shaggy | | php+apache+mysql v Ostatné | 13 | 1294 | 06.07.2009 11:37 Ďuri | | Spocitanie php+mysql v Databázy | 3 | 694 | 23.03.2009 13:01 GoodWill | | MySQL a PHP v Databázy | 9 | 866 | 27.12.2015 0:33 Werus |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|