---
title: "Hur skickar jag antal till kundkorgen"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/107182-hur-skickar-jag-antal-till-kundkorgen"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "timedia"
published: "2004-07-12T15:05:34.000Z"
updated: "2004-08-30T06:45:43.000Z"
replies: 13
views: 517
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/107182-hur-skickar-jag-antal-till-kundkorgen"
---

# Hur skickar jag antal till kundkorgen

## #1 — timedia, 2004-07-12T15:05Z

Har följande som gör att man flyttar en vara till kundkorgen.

```
Response.Write("<input type='text' name='anntal' value='0' size='3'><a href='shBasket.asp?addItem="& arrArtiklar(0,u) &"' target='underst'> <img src='images/kop.gif' alt='Info' width='43' height='14' border='0'> </A>")
```

I rutan 'anntal' vill jag att man ska skriva antal artiklar och att det värdet går till kundkorgen shBasket.asp (ligger i en annan frame) Hur gör man detta? 
shbasket.asp 

```
<%	Option Explicit ' Vi vill ha koll på våra variabler 
%><!--#include file="prevent_cache.asp"-->
<!--#include file="connection.asp"-->
<!--#include file="functions.asp"--><%

'	Förklaring: Kundvagnen.
'	Skicka med följande i QuerySträngen:
'		addItem=<ID> 
'			Lägger till varan med ID nummret <ID> i kundvagnen
'		removeItem=<ID>
'			Tar bort varan med ID nummret <ID> från kundvagnen
'		EnsureVisible=<ID>
'			Visar varan med ID nummret <ID> i listan

	Dim itemID ' as Long
	Dim shBasket ' as String
	Dim tmpVar ' as Variant
	Dim one, noItems
	Dim Changed ' as Boolean
	'Session("shBasket") = ""
'	Session("shBasket") är kundvagnen.
	shBasket = Session("shBasket")

	'// Vi undersöker om något läggs i korgen:
	IF Request.Querystring("addItem")<>"" THEN
		itemID = Request.QueryString("addItem")
		IF shBasket<>"" THEN
			' Vi tar reda på om varan redan finns i korgen..
			If Instr( shBasket, "[" & itemID & "]") > 0 then 
				'* Den finns här, så vi får leta på den!
				'  för att kunna uppdatera antalet!
				tmpVar = Split( shBasket, "|")
				For Each one In tmpVar
					IF Left( one, InStr( one, ".")-1) = "[" & itemID & "]" Then
						noItems = Right( one, Len(one) - instr(one, "."))
						shBasket = Replace(shBasket, one, "[" & itemID & "]." & Int(noItems)+1)
						Changed = True
						Exit For
					End If
				Next
				
			Else ' Om korgen inte är tom, men inte innehåller varan
				'* Den finns inte i korgen, då lägger vi till den!
				shBasket = shBasket & "|[" &  itemID & "].1"
				Changed = True
			End If
			
		ELSE ' Om korgen är tom...
			' [ID].Antal|
			shBasket = "[" & itemID & "].1"
			Changed  = True
		END IF
		Session("shBasket") = shBasket
		
	' Eller om något skall tas bort
	ELSEIF Request.QueryString("removeItem")<>"" THEN
		Dim newBasket

		itemID = Request.QueryString("removeItem")
		
		tmpVar = Split( shBasket, "|")
		If Instr( shBasket, "[" & itemID & "]") > 0 then 
				'* Den finns här, så vi får leta på den!
				'  för att kunna ta bort den!				tmpVar = Split( shBasket, "|")
				For Each one In tmpVar
					IF Left( one, InStr( one, ".")-1) <> "[" & itemID & "]" Then
						if newBasket<>"" THEN newBasket = newBasket & "|"
						newBasket = newBasket & one
					Else
						noItems = Right( one, Len(one) - instr(one, "."))

						noItems = int(noItems)-1
						if noItems> 0 then
							if newBasket<>"" THEN newBasket = newBasket & "|"
							newBasket = newBasket & "[" & itemID & "]." & noItems
						end if
						Changed = True
					End If
				Next
				
		End If
		Session("shBasket") = newBasket
	END IF
	
	' Om korgen ändrats så laddar vi in sidan utan argument,
	' så att man inte får flera av samma vara om man laddar om!
	If Changed = True THEN
		
		Response.ReDirect "shBasket.asp" & IIf(itemID<>"", "?EnsureVisible=" & itemID, "")
		Response.End 
	End If

	
	' En enkel funktion som hämtar ut antalet köpta varor

	
	Dim a, itemsInBasket
	IF shBasket<>"" THEN
		a = Split(shBasket, "|")
		For Each One in a
			If itemsInBasket <> "" THEN itemsInBasket = itemsInBasket & ","
			itemsInBasket = itemsInBasket & Mid(one, 2, InStr(one, "]")-2)
		next
	End If
	
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
	<!-- <%=shBasket%> -->
	<title>shBasket</title>
	<link rel="STYLESHEET" type="text/css" href="shStyle.css">
</head>

<body topmargin="0" leftmargin="0" BGCOLOR="#EEEEEE">

<TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0">
	<TR>
		<FORM METHOD="GET" ACTION="shBasket.asp">
		<TD>
		<% IF shBasket <> "" THEN %>
		&nbsp;
		<SELECT NAME="removeItem" CLASS="shBasketItems" STYLE="Width: 200">
<%
			
			Dim v, numRecords, EnsureVisible
			
			Set Rs = Server.CreateObject("ADODB.Recordset")
			Rs.Open "SELECT Id, ArtNr, Namn5 FROM Varor WHERE Id IN (" & itemsInBasket & ")",Conn,1,1

			numRecords = Rs.RecordCount-1
			
			For v = 0 To numRecords
				EnsureVisible = ""
				IF cStr(Rs.Fields("id").Value) = Request.QueryString("EnsureVisible") Then EnsureVisible = " SELECTED "
				
				Response.Write Chr(9) & chr(9)

				Response.Write "<OPTION " & EnsureVisible & " VALUE=" & Chr(34) & Rs.Fields("id").Value &  Chr(34) & ">" & itemCount( Rs.Fields("id").Value, True ) & " "  & Rs.Fields("Namn5").Value & "</OPTION>" & VbCrLf

	Rs.MoveNext
			Next
			
			
			Rs.Close
			Set Rs = Nothing
			
		%>		</SELECT>
		<SPAN CLASS="shBasketItems"><A HREF="#" OnClick="document.forms[0].submit()" CLASS="shCheckoutLink" target="_self">Ta bort markerad vara</A><br>
		&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="shCheckout.asp" CLASS="shCheckoutLink" target="shContent">Till kassan &gt;&gt;</A>
		</SPAN>
		<% ELSE %>
			<SPAN CLASS="shBasketItems">Inga varor i korgen.</SPAN>
		<% END IF %>
		</TD>
		</FORM>
	</TR>
</TABLE>
</body>
</html>
<%
	' CleanUp
	Conn.Close
	Set Conn = Nothing

%>
```

Permalänk: https://www.webforum.nu/p/107182

## #2 — timedia, 2004-07-13T15:14Z

Försöker igen så inte tråden dör. Ingen som vet?

Permalänk: https://www.webforum.nu/p/1385613

## #3 — @nders, 2004-07-14T07:25Z

Gör ett ordentligt formulär.

```
Response.Write("<form action='shBasket.asp' method='get' target='underst'><input type='text' name='anntal' value='0' size='3'><input type='hidden' name='addItem' value='" & arrArtiklar(0,u) & "'> &"'<input type='image' src='images/kop.gif' title='Info' width='43' height='14' border='0'></form>")
```

Permalänk: https://www.webforum.nu/p/1385838

## #4 — timedia, 2004-07-14T15:30Z

Tack @nders :) 
,men hur får jag med värdet över till shbasket? Nu blir det bara 1.

Permalänk: https://www.webforum.nu/p/1386124

## #5 — @nders, 2004-07-15T05:52Z

Request.Querystring("anntal")

Eller wass? Jag förstår nog inte riktigt problemet...

mvh

Permalänk: https://www.webforum.nu/p/1386462

## #6 — timedia, 2004-07-15T06:17Z

Titta här så förstår du vad jag menar:
<http://www.gamol.se/prod.asp> 

Korrekt antal går inte till kundkorgen. (koden till kundkorgen ligger längst upp på denna sidan)

Permalänk: https://www.webforum.nu/p/1386465

## #7 — @nders, 2004-07-15T06:21Z

Korrekt antal går nog till kundkorgen, det är nog du som inte tar hand om värdet ordentligt. Visa koden.

mvh

Permalänk: https://www.webforum.nu/p/1386466

## #8 — timedia, 2004-07-15T06:31Z

Koden ligger i det första inlägget här i tråden. Filen heter shbasket.asp

Permalänk: https://www.webforum.nu/p/1386471

## #9 — @nders, 2004-07-15T06:36Z

Du använder ju aldrig anntal? Jag vet inte hur din kundkorg fungerar, men någonstans har du hårdkodat antalet 1. Kan det vara här:

```
shBasket = Replace(shBasket, one, "[" & itemID & "]." & Int(noItems)+1)
```

Respektive här:

```
'* Den finns inte i korgen, då lägger vi till den!
shBasket = shBasket & "|[" &  itemID & "].1"
```

Permalänk: https://www.webforum.nu/p/1386473

## #10 — Fraggel, 2004-07-15T10:52Z

```
<form action='shBasket.asp' method='get' target='underst'>
<input type='text' name='anntal' value='0' size='3'>
<input type='hidden' name='addItem' value='579'>
<input type='image' src='images/kop.gif' title='Info' width='43' height='14' border='0'>
</form>
```

Kollade i din ASP kod och jag hittar ingestans att du tar upp "anntal" (borde stavas "antal" :bire )

om du plockar upp den och läger in den på lämpligt ställe i din kundvagn så kan du nog lösa det...

Såg att om du klickar på samma vara flera ggr så ökar den i antal.

FYI lägg till lite vbCrLf i di kod på lämpiga ställen så att den blir hanterbar om du vill gå in och kolla i den genererade HTML koden

Permalänk: https://www.webforum.nu/p/1386607

## #11 — timedia, 2004-07-15T14:41Z

'anntal' var något som jag hittade på för att illustrera hur jag har tänkt mig. Problemet består nu i att skicka detta värdet till kundkorgen. Tror att nedanstående kod ska ändras så  at värdet tas emot:

```
shBasket = shBasket & "|[" &  itemID & "].1"
```

I stället för 1 ska den läsa in 'anntal'. Hur gör jag detta?

Permalänk: https://www.webforum.nu/p/1386709

## #12 — Fraggel, 2004-07-15T14:44Z

> **timedia skrev:**
>
> 'anntal' var något som jag hittade på för att illustrera hur jag har tänkt mig. Problemet består nu i att skicka detta värdet till kundkorgen. Tror att nedanstående kod ska ändras så  at värdet tas emot:
>
> ```
> shBasket = shBasket & "|[" &  itemID & "].1"
> ```
>
> I stället för 1 ska den läsa in 'anntal'. Hur gör jag detta?

```
Dim anntal
anntal= Request.Querystring("anntal")
shBasket = shBasket & "|[" &  itemID & "]." & anntal
```

Edit: TypoEdit:Typo

Permalänk: https://www.webforum.nu/p/1386711

## #13 — timedia, 2004-07-15T14:57Z

Tack Fraggel, NU funkar det :bire

Permalänk: https://www.webforum.nu/p/1386718

## #14 — Gimbo, 2004-08-30T06:45Z

Vacker en GAMMAL bjorn har, men e nyfiken pa var denna kod for denna kundvagn e nerladdad ifran?? har sett flera websidor som anvander shbasket.asp, shItems.asp undrar bara var jag kan ladda hem detta systen fran?? verkar vara hel shysst, eller kanner ni till nagra bra e-handelsystem som man kan ladda hem, med databas o hela koret, e nyfiken pa hur dessa ser ut??

Permalänk: https://www.webforum.nu/p/1424042

---

Tråden på webben: https://www.webforum.nu/amne/asp/107182-hur-skickar-jag-antal-till-kundkorgen
