Autor Zpráva
lokix
Profil
Zdravím všechny zde na fóru,

měl bych jeden dotaz jestli mi někdo může pomoct, či nakopnout mě správným směrem.
Mám takový funny shopík kde je už rozjeté vše co zatím bylo potřeba včetně takové malé vlastní administrace.
vše jede ok, ale mám potíže se samotným košíkem. Zboží do něj přidávám z příkladu Jakuba Vrány kde je jen úprava pomocí POSTU.
Funguje jak má a při přidávání jedné položky za druhou se v košíku pěkně zobrazí, ale potřeboval bych možnost přepočítat košík a zde narážím. V košíku mám výpis produktů rovnou do formu kde si lze zadat inputem počet a je tam i hidden form na id produktu. V hlavičce stránky mám 2 podmínky. 1. pokud příjde z detailu produktu tak se vytvoří session košík to je ok a 2. pokud dojde k odeslání formu přepočet unsetnu session košík a znovu udělám totéž jako při přidání produktu (vytvořim novou session košík) což funguje, ale jen na jeden produkt - poslední - logicky se mi přepíší ostatní, respektive když dám ten unset ostatní se smažou a vytvoří se správně jen poslední. Mají stejný name (id) ve formu a to samé počet - stejný input. Je to v cyklu takže nevím jak to vyřešit aby když mám 3 produkty a každému dám jiný počet se správně přepočetl počet i cena.

Budu vděčen za každou radu i pomoc a v případě potřeby zde dám zdroje. Díky a přeji všem pohodový den
juriad
Profil
Takto bude vypadat tvůj formulář (value je aktuální počet v košíku):
<input name="product[1234]" value="3">
<input name="product[264]" value="1">
<input name="product[876]" value="9">
<input name="product[31]" value="2">

V PHP pak najdeš asociativní pole $_POST['product'], které obsahuje:
klíče 1234, 264, 876 a 31, a ke každému hodnotu zadanou v inputu.

Pak stačí aktuální košík zahodit a vložit do něj každý produkt (podle jeho id = klíč v poli) tolikrát, kolik je jeho hodnota v poli (pokud je počet nekladný, produkt přeskočíš).

Pro práci se SESSION silně doporučuji vytvořit si sadu funkcí, která ji bude obhospodařovat a nikoli vše dělat manuálně. Můžeš se inspirovat ukázkou v Diskuse JPW: košík - kde mám chybu? (+ další příspěvky pod tím, kde se řeší drobné modifikace).
lokix
Profil
juriad:
Díky moc. Rád bych to měl pěkně objektově a ve třídách a snad to ještě předělám, ale nyní to potřebuju funkční. Nicméně to checknu a co nejdřív se pokusím předělat. Díky za rychlost ;o)
lokix
Profil
juriad:
Tak jsem to konečně poupravil podle tvých rad a i když sem se trochu trápil svou vinou (nesmazané session z minula) tak už to faká jak má a ještě sem se přiučil. Ještě jednou moc díky.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0