IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Zpracování hromady post vstupů

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Pavel568
Člen
Avatar
Pavel568:27.7.2023 10:24

Potřeboval bych nějaké elegantní řešení, jak zpracovat efektivně hromadů post vstupů do skriptu.

Jednoduše mám několik tabulek, kde si pár vybraných velkoobchodních zákazníků dělá velké objednávky, ty tabulky mají třeba 200 řádků, pro zjednodušení nám stačí 2 podstatné sloupečky, které identifikují položku v databázi a počet objednaných kusů, které si naťuká zákazník.

Pro další zpracování potřebuji uložit do cookie, co objednal z daného formuláře, než se udělá finální objednávka (počítám nějakých 6 kategorií, potom proběhne nějaká matematika ohledně slev, balení apod. než udělám zápis do DB, takže bych potřeboval něco ve smyslu přetransformovat post do formátu $POLE[ID_polož­ky][Kusy], s kterými budu dále pracovat , ale nemusí to být zrovna dvourozměrné pole :)

Inputy mám momentálně pojmenované po ID v databázi, takže momentálně pracuji se jménem inputu a jeho obsahem, ale nebráním se uprávám ve smyslu, že ID pošlu jako skrytý post apod.

Prosil bych pokud možno čisté PHP, programovat jsem se učil na přelomu tisíciletí a neživí mně to, frameworky nechci dostávat do hlavy na to občasné pokročilejší použití, protože do příště si to pamatovat už nebudu :)

předem díky

 
Odpovědět
27.7.2023 10:24
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:27.7.2023 10:44

Pekne jsi to rozepsal, ale mozna by bylo fajn ukazat kusy kodu. Neni mi uplne jasna struktura, co mas na vstupu a co cces na vystupu.
A otazkou je, proc to ukladat do cookies? Nevim, jak ted, ale driv cookies melo limit asi 1000 znaku. dneska se pouziva teda localStorage, ale databazove veci bych skladoval v databazi, jako 200 radku :)

html: id=345 <input name="kusu[345]" value="11">
php: foreach($_POST['kusu'] as $id=>$value) {var_dump($id, $value);}  // $id = 345, $value = 11
---
html: id=345 <input name="polozka[345][kusu]" value="11">
php: foreach($_POST['polozka'] as $id=>$row) {var_dump($id, $row);}  // $id = 345, $row['kusu'] = 11
 
Nahoru Odpovědět
27.7.2023 10:44
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:27.7.2023 10:50

Treba toto mi neni uplne jasne...

Inputy mám momentálně pojmenované po ID v databázi, takže momentálně pracuji se jménem inputu a jeho obsahem, ale nebráním se uprávám ve smyslu, že ID pošlu jako skrytý post apod.

Cili, v html php to mas nejak takto? Jde to pouzit, ale neodlisis jiny input. Pak tam mas asi kontrolu is_int(), abys zjistil, ze name je cislo a ne text. Ale pak nemuzes stejne id pouzit na nic jineho, jen kusy. To mi prijde jako neprakticke

html: id=345 <input name="345" value="11">
php: foreach($_POST as $id=>$value) {var_dump($id, $value);}  // $id = 345, $value = 11
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
27.7.2023 10:50
Avatar
Pavel568
Člen
Avatar
Pavel568:27.7.2023 12:11
<input type="number" value="0" min="0" max="999" maxlenght="3" name="919">
// Pro ID 919

Takhle to mám uložené, to načítání POSTU Foreachem bylo to, co jsem potřeboval, konečně jsem se pohnul dále, díky.

Btw díky tip s tím localstorage, holt toto občasné programování mně nenutí sledovat detaily do té doby, než narazím na problém :)

 
Nahoru Odpovědět
27.7.2023 12:11
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.