Avatar billede bobbedude Nybegynder
24. juli 2002 - 07:44 Der er 12 kommentarer og
1 løsning

Sætte ting i cookie

Med checkbox sender jeg nogle variabel navne afsted til en fil som gerne skulle skrive alle disse ind i en cookie sådan:

Response.Cookies("action")("filename") = Request.Cookies("action")("filename") & "," & filname

Men hvis jeg sender mere end en afsted vil nummer 2 overskrive den første, så jeg skal vel have noget ala, for each et eller andet ???
Avatar billede tmceu Praktikant
24. juli 2002 - 08:37 #1
Hvordan ønsker du at anvende dem senere? (der er flere måder at gøre det på)
Avatar billede bobbedude Nybegynder
24. juli 2002 - 08:53 #2
filename er = id sener skal jeg så have fat i id'et.
Avatar billede bobbedude Nybegynder
24. juli 2002 - 08:54 #3
men jeg tror faktisk jeg har klareret det
Avatar billede bobbedude Nybegynder
24. juli 2002 - 08:54 #4
men jeg vil gerne se hvordan du vil gøre det og du får naturligvis point for det.
Avatar billede bobbedude Nybegynder
24. juli 2002 - 08:58 #5
Arg mit virkede ikke
Avatar billede tmceu Praktikant
24. juli 2002 - 09:09 #6
Hvis værdierne eks. kommer i en kommasepareret liste fra en gruppe checkboxe som normalt,
kan du gøre noget i stil med dette:

myArr = Split(Request.Form("Checkbox"), ",")

For i = 0 To UBound(myArr)
Response.Cookies("Action")(myArr(i)) = myArr(i)
Next


Og når du vil tilgå det dynamiske antal værdier:


For Each key in request.Cookies("Action")
Response.write Request.Cookies("Action")(key) & "<BR>"
Next
Avatar billede bobbedude Nybegynder
24. juli 2002 - 09:29 #7
Det virker ok men den skriver det ud 2 gange, her er mit script

if Request.Form("action")="Kopier" then

myArr = Split(Request.Form("Checkbox"), ",")
For i = 0 To UBound(myArr)
Response.Cookies("Action")(myArr(i)) = myArr(i)
Next

For Each key in request.Cookies("Action")
Response.write Request.Cookies("Action")(key) & "<BR>"
Next

'set connect = server.createobject("ADODB.Connection")
'Connect.open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("../db/images.mdb")
'Set rs = Connect.Execute("SELECT * FROM billeder WHERE id = " & filen & "")
'Do while not rs.eof

'    skriv id ud hvor id = id i cookie

'rs.movenext
'    loop



end if

Resultatet er her:

274
270
,270, 274

Det kommer 2 gange
Avatar billede bobbedude Nybegynder
24. juli 2002 - 09:31 #8
hehe glemte at nulstille cookies sorry
Avatar billede bobbedude Nybegynder
24. juli 2002 - 09:33 #9
Sidste ting hvordan skriver jeg rs("id") ud der hvor den er = id i cookies
Avatar billede bobbedude Nybegynder
24. juli 2002 - 09:40 #10
For Each key in request.Cookies("Action")
filen = Request.Cookies("Action")(key)



Set rs = Connect.Execute("SELECT * FROM billeder WHERE id = " & filen & "")
Do while not rs.eof

    response.write rs("id") & "<br>"

rs.movenext
    loop


Next
end if
Avatar billede tmceu Praktikant
24. juli 2002 - 09:42 #11
Dette kunne være en løsning, men jeg er ikke helt sikke på jeg forstår hvad du vil med den.

Do while not rs.eof

For Each key in request.Cookies("Action")
  If rs("id") = Request.Cookies("Action")(key) Then
  Response.Write rs("id")
  Exit For
  End If
Next

rs.movenext
loop
Avatar billede bobbedude Nybegynder
24. juli 2002 - 09:49 #12
det jeg skal er at få fat på de IDer i databasen der står i Cookien, håber du forstår.
Avatar billede tmceu Praktikant
24. juli 2002 - 09:55 #13
Så burde du kunne vende den lidt om, så du laver en liste over værdier i cookien og anvender disse i IN i din WHERE clause

For Each key in request.Cookies("Action")
If strTmp = "" Then
  strTmp = Request.Cookies("Action")(key)
Else
  strTmp = strTmp & ", " & Request.Cookies("Action")(key)
End If
Next

Du skulle nu have en liste som kunne være "1, 3, 5, 4"

Dit SQL statement kunne så være:

SELECT * FROM Tabel WHERE [ID] IN(" & strTmp & ")"

P.S. Hvis dit ID felt ikke er nummerisk, skal de omgives af ' (pinger)
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