Autor | Zpráva | ||
---|---|---|---|
Enko Profil * |
#1 · Zasláno: 6. 5. 2013, 11:34:47 · Upravil/a: Enko
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 |
#2 · Zasláno: 6. 5. 2013, 12:57:31
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 |
#3 · Zasláno: 6. 5. 2013, 13:10:28
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 * |
#4 · Zasláno: 6. 5. 2013, 14:16:53
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 |
||
Časová prodleva: 11 let
|
0