Autor Zpráva
Enko
Profil *
Ahoj,
hledám optimální řešení, jak vyřešit následující.
Mám nákupní košík, kam můžou přihlášení uživatelé přihazovat množství zboží na základě ID zboží. A může nastat situace, kdy je v DB u jednoho uživatele víc řádků v DB se stejným ID zboží. A potřebuju vědět jak udělat, editaci celkového množství pro konkrétní ID zboží pro tohoto konkrétního uživatele. Mám nejdřív smazat všechny záznamy a yvtvořit nový, nebo smazat všechny řádky až na jeden a ten editovat? Prosím o návod, jak to udělat krok za krokem.
struktura tabulky vypadá takto:

`id(ID řádku, unikátní)`,`user(unikátní login uživatele)`, `polozka(jméno položky)`, `id_polozky(unikátní ID položky z tabulky produktů)`, `pocet(počet kusů)`, `cena(cena za kus)`, `dodavatel(dodavatel položky)`, `objednano(0 nebo 1, značí, zda byla položka již objednána, )`


Slučování řádků, kde je stejné ID produktu u uživatele dělám takto:
SELECT *,
SUM(pocet) AS pocetkusu,
SUM(pocet * cena) AS celkovacena
FROM kosik
WHERE user='$user' AND objednano='0'
GROUP BY id_polozky
ShiraNai7
Profil
Enko:
A může nastat situace, kdy je v DB u jednoho uživatele víc řádků v DB se stejným ID zboží.

Jakto? Pokud přihazuje zboží, které tam už je, tak by se měl pouze zvýšit počet kusů, ne?
Tori
Profil
Enko:
A může nastat situace, kdy je v DB u jednoho uživatele víc řádků v DB se stejným ID zboží.
Co to znamená v praxi - dvě různé objednávky? Pak by se měly rozlišovat pomocí ID objednávky a přidávání dalšího zboží/kusů by šlo řešit jako INSERT ... ON DUPLICATE KEY UPDATE s unikátním klíčem na ID objednávky + ID produktu.
Enko
Profil *
Tori, ShiraNai7:
Děkuji oběma. Používal jsem né uplně vhodnou logiku na vkládání zboží do košíku. Předělám tedy vkládání do košíku a problém je vyřešen.

Děkuju

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: