Avatar billede muffa Nybegynder
16. november 2002 - 23:03 Der er 4 kommentarer og
1 løsning

Hjælp til at gemme et array til en session variabel

Jeg er igang med at kode en indkøbskurv funktion, som et eksamensprojekt. ProduktID og antal skal gemmes i et 2 dimensionel array. Jeg har prøvet men kan kun gemme et produkt af gangen. Jeg håber at der er nogen der kan hjælpe mig.
Avatar billede loukas Mester
17. november 2002 - 01:01 #1
En stump kode ku' hjælpe lidt ;-)
Men her har du en indkøbskurv jeg har fået 'skruet sammen' med lidt hjælp fra Eksperterne
Varerne her bliver (som du sikkert kan se) hentet fra en DB.

Koden:

If IsArray(Session("vare")) = false Then
  Dim vare2(19,4)   
  vare2(1,0) = Request.QueryString("item")  'Vare nr eller anden ID
  vare2(1,1) = Request.Querystring("size")  'Størrelse
  vare2(1,2) = Request.QueryString("color") 'Farven
  vare2(1,3) = Request.QueryString("count") 'Antalet af varen man vil købe
  vare2(1,4) = Request.QueryString("pris")  'Varens pris
  Session("vare") = vare2
else
  vare2=session("vare")
  incart=false
  for i=lbound(vare2) to ubound(vare2)
    if vare2(i,0) = Request.QueryString("item") AND vare2(i,1) = Request.Querystring("size") AND vare2(i,2) = Request.Querystring("color") and not(incart) then
      'Opdater Countet
      vare2(i,3) = vare2(i,3) + CInt(Request.QueryString("count")) 'Antalet af varen man vil købe
      incart=true
    end if
    if vare2(i,0)="" and vare2(i,1)="" and not(incart) then
      'Ligger nu vare i kurven
      vare2(i,0) = Request.QueryString("item")  'Vare nr eller anden ID
      vare2(i,1) = Request.Querystring("size")  'Størrelse
      vare2(i,2) = Request.QueryString("color") 'Farven
      vare2(i,3) = Request.QueryString("count") 'Antalet af varen man vil købe
      vare2(i,4) = Request.QueryString("pris")  'Varens pris
      incart=true
    end if
  next
  session("vare")=vare2
end if

strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=" & Server.Mappath("db/webshop.mdb") & ";"

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open strConnection




pris = 0
vareid = 0
antalid = 0
farveid = 0
ialt = 0
for i=lbound(vare2) to ubound(vare2)
varenr = vare2(i,0)

    if len(varenr) > 0 then
        Set objRS = Server.CreateObject("ADODB.Recordset")
        Set objRS.ActiveConnection = objconn
        SQL = "SELECT * FROM varer WHERE vareid=" & varenr &";"
        objRS.Open  SQL
   
    farve = vare2(i,2)
    antal = vare2(i,3)
    pris = vare2(i,4)
   
    total = antal * pris
    ialt = ialt + antal * pris
   
  Response.write "<tr>"
  Response.write "<td nowrap><font face=verdana size=1>" & objRS("varenavn") & "</font></td>"
  Response.write "<td><font face=verdana size=1>" & vare2(i,1) & "</font></td>"
  Response.write "<td><font face=verdana size=1>" & farve & "</font></td>"
  Response.write "<td><font face=verdana size=1>" & antal & "</font></td>"
  Response.write "<td><font face=verdana size=1>" & total & "</font></td>"
  Response.write "</tr>"

set objRS = nothing   
end if
next
Response.Write "<tr><td><font face=verdana size=1><b>Total:</b></font></td><td>&nbsp;</td>&nbsp;<td>&nbsp;</td><td>&nbsp;</td><td><font face=verdana size=1><b>"& ialt &"</b></font></td></tr>"
Response.write "</table>"



set objRS = nothing
Avatar billede muffa Nybegynder
17. november 2002 - 02:04 #2
Har du koderne fra den side der laver de dersens Querystring, kunne man forestille jeg at det også ville virke med request.form istedet for request. querystring? Nåmen jeg er træt nu, jeg vil rode med det imorgen, men umiddelbart ligner det noget der kunne virke for mig. Hvis det gør det, så er point'ene dine :)
Avatar billede muffa Nybegynder
17. november 2002 - 02:31 #3
Nå loukas, jeg kunne ikke dy mig alligevel, så jeg rodede lidt med dine koder, og hele skidtet virker nu. Afgiv lige et svar, så jeg kan give dig point'ene. Tusind tak for hjælpen, nu kan jeg sove roligt i nat.
Avatar billede muffa Nybegynder
17. november 2002 - 02:42 #4
Har du en stump kode til at fjerne varen(e) fra indkøbskurven igen?
Avatar billede loukas Mester
17. november 2002 - 12:43 #5
Det var da godt(at det virker)
Jeg har ikke lavet noget til at fjerne varerne ;.(
Hygge !!
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