webForumDet fria alternativet

Artikelnummer och antal i till varukorg/checkout?

ASP

12 svar · 221 visningar · startad av MM

Medlem sedan maj 2000138 inlägg
Frågan#1

Jag har ett ordesystem som helt enkelt skall funka så här:

Från produktkatalogen skickas två saker med Querystring: ID och antal.
Det kan till exempel se ut så här:
varukorg.asp?id=23&antal=5 om man köper 5 st av artikel nr 23.

Dessa värden: 23 och 5 vill jag skall lagras på lämlipt sätt (temporärt i cookie, session, dictionary, array eller vad som nu är bäst).

Sedan (först när användaren öppnar denna sida) vill jag loopa igenom denna lista
( som när man lagt till 3 olika artiklar borde se ut nåt i stil med:
23 5
15 1
299 10
)

Detta för att hämta artikelnumren i databasen tillsammans med priser o.dyl.
I ett fält för varje rad jag får skall dessutom antalets värde för varje artikel hänga med.

Någon som hänger med på vad jag är ute efter?

------------------
667 - The neighbour of the beast.

[Redigerat av MM den 11 dec 2001]

Medlem sedan dec. 19998 577 inlägg
#2

Jag skulle helt klart skapat ett recordeset (om du inte är säker på att två fält kommer att räcka, och om du vill ha enklare hantering) där du lagrar infon, som du sedan lagrar i en session (som naturligtvis är specifik för varje användare).

Vill du inte använda RS så kan du göra liknande med ett array eller ett dictionary (dictionary är väldigt bergränsat i detta sammanhanget).

------------------
Mostly Harmless

Medlem sedan maj 2000138 inlägg
#3

Jo ett recordset låter bra, Vide. Men frågan är hur jag ställer upp det?

Jag har försökt i eveigheter utan att lyckats, så jag vore tacksam om någon kunde visa hur recordsettet skulle se ut, samt hur jag plockar ut artikelid och antal för varje rad.

------------------
667 - The neighbour of the beast.

Medlem sedan dec. 19998 577 inlägg
#4

De enda fälten du behöver är ju som du säger 'ID' och 'Antal'.

Och för att loopa igenom alla:

while ( not recordset.eof )
'här fixar du
recordset.movenext
wend

Mer info om hur du skapar recordsettets struktur: http://www.webeye.nu/default2.asp?que=asp/default.asp&exec=asp/artiklar/asp_16.asp

------------------
Mostly Harmless

Medlem sedan maj 2000138 inlägg
#5

körde fast direkt:

Microsoft VBScript runtime error '800a01b6'
Object doesn't support this property or method: 'Append'

i denna kod:

Set rs = Server.CreateObject("Adodb.Recordset") 

rs.CursorLocation = 3 
rs.Fields.Append "ArtId", adInteger
rs.Fields.Append "ArtAntal", adInteger
rs.open

Borde ju funka när jag plankat det i stort sett rätt av.
Kan det vara det där med "adovbs.inc", och i så fall vad är det för fil?

------------------
667 - The neighbour of the beast.

Medlem sedan dec. 19998 577 inlägg
#6

Du måste inkludera adovbs.inc eller definiera de konstanter du skall använda (adInteger t.ex).
http://www.webeye.nu/default2.asp?que=asp/default.asp&val=asp-filer&fil=Adovbs.zip

------------------
Mostly Harmless

Medlem sedan maj 2000138 inlägg
#7

Hmmm får det att funka nu, men bara lokalt med PWS, inte på servern. (24-7webhosting) Jag tror de kör Linux, funkar det inte då?

Jag får nämligen samma fel som tididare.:
Object doesn't support this property or method: 'Append'

------------------
667 - The neighbour of the beast.

Medlem sedan dec. 19998 577 inlägg
#8

Kör dom linux så vet jag inte hur ADO fungerar, eller om och hur i sånna fall.

Jag skulle nog skaffat ett riktigt webhotell. ;)

------------------
Mostly Harmless

Medlem sedan maj 2000138 inlägg
#9

hmm.. jag fick till svar från webhotellet att:
"Append funktionen ser bara ut att stödjas under ADO command objekt"

och sen en länk: http://216.163.88.13/caspdoc/360docs/html/ado_collections_append_method.htm

Allt finns nog där, men ärligt talat så fattar jag inte med hjälp av den sidan hur jag skall göra ändå. Rena grekiskan för mig, ju!

------------------
667 - The neighbour of the beast.

Medlem sedan dec. 19998 577 inlägg
#10

Det ser inte bättre ut än att du måste använda ett array. Inte lika flexiblet och enkelt att använda, men det fungerar. Börja med ett tvådimensionellt array där du lägger in båda värdenna per element.

------------------
Mostly Harmless

Medlem sedan maj 2000138 inlägg
#11

jahapp... från början igen då.

Förresten, väldigt bra ASP-skola du hade, Vide. Ska hårdplugga varenda sida där så fort jag får tid över.

Men tvådimensionell array - verkar knepigt. Funkar det att lägga till i en array så att den utökar sig självt med vad som kommer från querystring?

Försökte läsa mig till hur ett sådant skulle se ut, men gick bet.
Men nu när jag vet att det måste bli ett sådant, så är det väl bara att gå på det igen...

------------------
667 - The neighbour of the beast.

Medlem sedan dec. 19998 577 inlägg
#12

Förresten, väldigt bra ASP-skola du hade, Vide. Ska hårdplugga varenda sida där så fort jag får tid över.

Tack så mycket... :r

Men tvådimensionell array - verkar knepigt. Funkar det att lägga till i en array så att den utökar sig självt med vad som kommer från querystring?

Ja, det du får göra är att dimensionera den efter hur många element den skall innehålla, detta kan du även göra i efterhand, men då skall du använda 'redim preserver' som finns beskrivet i min artikel om Arrayer... ;)

------------------
Mostly Harmless

Medlem sedan maj 2000138 inlägg
#13

Okej, jag ska lära mig ALLT om arrayer...

Tusen tack Vide! Du är en klippa.

------------------
667 - The neighbour of the beast.

261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)