Avatar billede kimlarsen1978 Nybegynder
22. august 2002 - 00:12 Der er 2 kommentarer og
1 løsning

Sammenlig i Array

Jeg lægger vare i en indkøbskurv på denne måde:
---------------------------------
If IsArray(Session("kurv")) = false Then
pointshopKurv(1,0)=productid
pointshopKurv(1,1)=Antal
Session("kurv") = pointshopKurv
else
   
pointshopKurv=session("kurv")
er_i_kurven=false
for i=lbound(pointshopKurv) to ubound(pointshopKurv)
  if pointshopKurv(i,0)="" and pointshopKurv(i,1)="" and not(er_i_kurven) then
  pointshopKurv(i,0)=productid
  pointshopKurv(i,1)=Antal
  er_i_kurven=true
  end if
next
session("kurv")=pointshopKurv
end if
--------------------------------
Men hvordan sikre jeg mig at den samme vare ikke optræder 2 forskellige steder i indkøbskurven, hvis nu en bruger køber den samme vare igen? Jeg har forsøgt lidt med dette,
----------------------------------
w=0
While w <= 25
pointshopKurv=session("kurv")
if productid = pointshopKurv(w,0) then
e=w
pointshopKurv=session("kurv")
er_i_kurven=false
for i=lbound(pointshopKurv) to ubound(pointshopKurv)
  if pointshopKurv(i,0)="" and pointshopKurv(i,1)="" and not(er_i_kurven) then
  pointshopKurv(i,0)=productid
  pointshopKurv(i,1)=Antal+"Det nye Antal"
  er_i_kurven=true
  end if
next
session("kurv")=pointshopKurv

pointshopKurv=session("kurv")
pointshopKurv(e,0)=""
pointshopKurv(e,1)=""
session("kurv")=pointshopKurv
end if
w=w+1
Wend
----------------------------------
Altså først lave en ny vare og så slette den gamle, men det virker sgu ikke. Er der andre måder eller er der en der kan se fejlen?
Avatar billede kimlarsen1978 Nybegynder
22. august 2002 - 00:13 #1
Købes den samme vare igen skal den altså kun stå en gang i kurven - dog med det nye samle antal bestilte enheder...
Avatar billede coltau Juniormester
22. august 2002 - 06:50 #2
Ikke fordi jeg ikke kan finde fejlen - men prøv lige nedenstående simple kurv. Kurven anvender cookies - men Sessions og Cookies er jo stort set det samme.

<%

strMode = Request.QueryString("mode")
strVareNr = Request.QueryString("varenr")

if strMode = "reset" then ' Nulstil kurven
  ' Nulstil kurv
  for each Key in Request.Cookies("Kurv")
    Response.Cookies("Kurv")(Key) = "0"
  next
end if

if strMode = "insert" then ' indsæt 1 stk i kurven
  ' Indsæt vare i kurv
  Found = False
  for each Key in Request.Cookies("Kurv")
    if Key = strVareNr then
      Response.Cookies("Kurv")(Key) = CStr(CInt(Request.Cookies("Kurv")(Key)) + 1) ' Antal = Antal + 1
      Found = True
      exit for
    end if
  next
  if not Found then
    Response.Cookies("Kurv")(strVareNr) = "1"
  end if
end if

if strMode = "delete" then ' Slet en vare fra kurven
  ' Slet vare fra kurv
  for each Key in Request.Cookies("Kurv")
    if Key = strVareNr then
      Response.Cookies("Kurv")(Key) = "0"
      exit for
    end if
  next
end if

' Vis vareliste
Response.Write("<center>")
Response.Write("<table width='50%'>")
Response.Write("<tr><td align='center'><b>VARELISTE</b></td></tr>")
Response.Write("</table>")
Response.Write("<br>")
Response.Write("<table width='50%'>")
Response.Write("<tr><td width='10%'>Varenr</td><td width='70%'>Varetekst</td><td width='20%'>Tilføj 1 stk.</tr>")
' Vis varer
Response.Write("<tr><td width='10%'>A12</td><td width='70%'>Vare A12</td><td width='20%'><a href='?mode=insert&varenr=A12'>Tilføj</a></tr>")
Response.Write("<tr><td width='10%'>A13</td><td width='70%'>Vare A13</td><td width='20%'><a href='?mode=insert&varenr=A13'>Tilføj</a></tr>")
Response.Write("<tr><td width='10%'>A14</td><td width='70%'>Vare A14</td><td width='20%'><a href='?mode=insert&varenr=A14'>Tilføj</a></tr>")
Response.Write("<tr><td width='10%'>A15</td><td width='70%'>Vare A15</td><td width='20%'><a href='?mode=insert&varenr=A15'>Tilføj</a></tr>")
Response.Write("</table>")
Response.Write("</center>")
Response.Write("<br>")

' Vis kurv
Response.Write("<center>")
Response.Write("<table width='50%'>")
Response.Write("<tr><td align='center'><b>KURV</b></td></tr>")
Response.Write("</table>")
Response.Write("<br>")
' Vis indhold kurv
Response.Write("<table width='50%'>")
Response.Write("<tr><td width='10%'>Varenr</td><td width='70%'>Cookie</td><td width='10%' align='right'>Antal</td><td width='10%'>Fjern</td></tr>")
for each key in Request.Cookies("Kurv")
  if (Request.Cookies("Kurv")(Key) <> "0") then
    Response.Write("<tr><td width='10%'>" & Key & "</td><td width='70%'>(Kurv)(" & Key & ")=" & Request.Cookies("Kurv")(Key) & "</td><td width='10%' align='right'>" & Request.Cookies("Kurv")(Key) & "</td><td width='10%'><a href='?mode=delete&varenr=" & Key & "'>Fjern</a></td></tr>")
  end if
next

Response.Write("</table>")
Response.Write("</center>")
Response.Write("<br>")
Response.Write("<a href='?mode=reset'>Nulstil kurv</a>")

%>
Avatar billede kimlarsen1978 Nybegynder
14. maj 2003 - 16:22 #3
Uaktuelt - har selv løst det
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester