08. juli 2004 - 19:00Der er
8 kommentarer og 1 løsning
Slettet vare kan ikke købes igen
Hej, Jeg sletter en vare fra en indkøbskurv ved at sætte den til 0 i stedet for 1. Ex når varen kommer i kurven: Cart(5,Items) = 1 Og når den slettes: Cart(5,Request.QueryString("id")) = 0
Problemet er, at hvis en vare en gang har været slettet, kan den ikke tilføjes indkøbskurven igen. Er den en anden måde at slette en vare på?
if Request.QueryString("action") = "add" then 'Antager det en ny Items = Items + 1 nyvin = true
Set Conn = Server.Createobject("ADODB.Connection") Conn.Open strDSN Set RS = Conn.Execute("SELECT * FROM cart WHERE vine_ID = "&Request.QueryString("id")&"") if Not RS.EOF then for i = 0 to ubound(Cart,2) if Int(Cart(2,i)) = Int(RS("vine_ID")) then Items = i nyvin = false exit for end if next if nyvin = true then 'Tilføj ny Cart(1,Items) = Items Cart(2,Items) = RS("vine_id") Cart(3,Items) = RS("vine_navn") Cart(4,Items) = ((RS("pris"))*(RS("Kasseantal")))*(request.form("kassefelt")) Cart(5,Items) = 1 Cart(6,Items) = RS("Kasseantal") Cart(7,Items) = request.form("kassefelt") Cart(8,Items) = rs("huse_navn") else if Request.Form("mode")="indkob" then 'Opdater med de nye tal Cart(4,Items) = Cart(4,Items)+((RS("pris"))*(RS("Kasseantal")))*(request.form("kassefelt")) Cart(7,Items) = Int(Cart(7,Items))+Int(request.form("kassefelt")) else 'Tilføj X antal vare til det som findes Cart(4,Items) = ((RS("pris"))*(RS("Kasseantal")))*(request.form("kassefelt")) Cart(7,Items) = (Int(Cart(7,Items))+Int(request.form("kassefelt")))-Int(Cart(7,Items)) end if end if end if
RS.close Conn.Close Set RS = nothing Set Conn = nothing
elseif Request.QueryString("action") = "delete" then
Cart(5,Request.QueryString("id")) = 0
elseif Request.QueryString("action") = "sletalt" then
:) "Kan ikke finde ud af hvorfor den ikke kan bestilles igen i hvert fald.." Betyder det at du ka finde andre fejl? Enhver kommentar er velkommen, bare skyd løs!
Det eneste jeg kan se, er at når Cart(5,Items) én gang er sat til 0 for et bestemt ID[...elseif Request.QueryString("action") = "delete" then Cart(5,Request.QueryString("id")) = 0)...] så kan den ikke sættes til 1 igen. Men hvorfor aner jeg ikke... Any ideas?
faktisk har jeg lidt en ide alligevel.. kiggede lige lidt efter..
if Not RS.EOF then for i = 0 to ubound(Cart,2) if Int(Cart(2,i)) = Int(RS("vine_ID")) then Items = i nyvin = false exit for end if
ret det ovenstående til:
if Not RS.EOF then for i = 0 to ubound(Cart,2) if Int(Cart(2,i)) = Int(RS("vine_ID")) OR Int(Cart(5,i)) = 0 then Items = i nyvin = false exit for end if
Godt set! Der skulle lige lidt modifikationer til:
if Not RS.EOF then for i = 0 to ubound(Cart,2) if Int(Cart(2,i)) = Int(RS("vine_ID")) then if Cart(5,i) = 0 then Cart(5,i) = 1 end if Items = i nyvin = false exit for end if
og når varen slettes skal pris og antal også sættes til nul: Cart(5,Request.QueryString("id")) = 0 Cart(4,Request.QueryString("id")) = 0 Cart(7,Request.QueryString("id")) = 0
Det ser ud til at virke, er der nogle umidddelbare problemer i at gøre det på denne måde? Smid et svar og tak for hjælpen Ellebaek.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.