Avatar billede tzag_dk Nybegynder
14. maj 2005 - 17:06 Der er 4 kommentarer og
1 løsning

Indkøbskurv og et array

Hej

Jeg har et problem med et array.
Det er til en indkøbskurv. Den virker ved at jeg får antal og et id via en QueryString (Det kan I se i koden)

Array´et ser sådan her ud:
2;42#3;7#1;58

antal;id#antal;id#antal;id


Men jeg kan ikke få min kode til at virke, den laver denne fejl:
Microsoft VBScript runtime error '800a0009'

Subscript out of range: 'arrcart'

/cart.asp, line 43

Linje 43--> AntalCount = AntalCount + CInt(arrcart(i,0))


Her er hele koden:
if request.QueryString("add") = "true" then

    productID = CInt(request.QueryString("productID"))
    antal = CInt(request.QueryString("antal"))

        if session("cart") = "" then
            session("cart") = antal &";"& productID
        else
            session("cart") = session("cart") & "#" & antal &";"& productID
        end if

    response.Redirect("cart.asp")

end if


if session("cart") = "" then
    arrAntal = "Ingen vare!"
    arrPris = " "
    arrVisKurv = " "
else

    cart = session("cart")
    arrcart = Split(cart,"#")

    AntalCount = 0
    Pris = 0
        For i = LBound(arrcart) to UBound(arrcart)
            AntalCount = AntalCount + CInt(arrcart(i,0))

                SQLpris = "SELECT salgspris FROM products WHERE productID = '"&CInt(arrcart(i,1))&"'"
                Set RSpris = Conn.execute(SQLpris)
                salgspris = replace(RSpris("salgspris"), ",", ".")
           
            Pris = CInt(arrcart(i,0)) * salgspris + Pris
        Next

    arrAntal = "Antal vare: <strong>" & AntalCount &"</strong>"

    arrPris = "Pris: <strong>" & FormatNumber(Pris,2) & " Kr.</strong>"
   
    arrVisKurv = "<a href='/viscart.asp?catID="&session("catID")&"'><strong>Gå til kassen</strong></a>"

end if


I må lige sige til hvis I ikke er helt med på hvad jeg mener...

På forhånd tak :o)
// Rene
Avatar billede nielle Nybegynder
14. maj 2005 - 17:45 #1
Det giver vist ikke så meget mening at skrive:

arrcart(i, 0)

Det skal nok deles op i et par yderligere trin:

AntalOgId_I = arrchart(i)
AntalOgId2_I = Split(AntalOgId_I, ”;”)
Antal = CInt(AntalOgId2_I(0))

Så har du samtidigt at:

Id = CInt(AntalOgId2_I(1))
Avatar billede nielle Nybegynder
14. maj 2005 - 17:46 #2
Denne metode skulle også gerne virke hvis Antal var mere end 9.
Avatar billede nielle Nybegynder
14. maj 2005 - 17:51 #3
Altså:

if session("cart") = "" then
    arrAntal = "Ingen vare!"
    arrPris = "&nbsp;"
    arrVisKurv = "&nbsp;"
else
    cart = session("cart")
    arrcart = Split(cart, "#")

    AntalCount = 0
    Pris = 0
    For i = LBound(arrcart) to UBound(arrcart)
        AntalOgId_I = arrcart(i)
        AntalOgId2_I = Split(AntalOgId_I, ";")

        Antal = CInt(AntalOgId2_I(0))
        Id = = CInt(AntalOgId2_I(1))

        AntalCount = AntalCount + Antal

        SQLpris = "SELECT salgspris FROM products WHERE productID = " & Id
        Set RSpris = Conn.execute(SQLpris)
        salgspris = replace(RSpris("salgspris"), ",", ".")
           
        Pris = Pris + Antal*salgspris
    Next

    arrAntal = "Antal vare: <strong>" & AntalCount & "</strong>"
    arrPris = "Pris: <strong>" & FormatNumber(Pris, 2) & " Kr.</strong>"   
    arrVisKurv = "<a href='/viscart.asp?catID=" & session("catID") & "'><strong>Gå til kassen</strong></a>"
end if
Avatar billede tzag_dk Nybegynder
14. maj 2005 - 18:00 #4
Jamen hej hvor det virker!!! Kanon :o)

Jeg vil sige mange tak for hjælpen
God weekend.
Avatar billede nielle Nybegynder
14. maj 2005 - 18:08 #5
Svar :^)
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