---
title: "Hur loopar man smartast igenom två arrays \"samtidigt\"?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/71175-hur-loopar-man-smartast-igenom-två-arrays-samtidigt"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "trexter"
published: "2003-03-15T15:54:16.000Z"
updated: "2003-03-15T18:17:45.000Z"
replies: 7
views: 272
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/71175-hur-loopar-man-smartast-igenom-två-arrays-samtidigt"
---

# Hur loopar man smartast igenom två arrays "samtidigt"?

## #1 — trexter, 2003-03-15T15:54Z

Jag hämtar massor av fomulärfält, hälften med namnet "intQuantity" och hälften med namnet "intProdID".

Med Request.Form("abc") sparas de i arrays (eller?);
t.ex: 4, 6 & och 3, 4

Nu vill jag skapa SQL-satser som med Update som lägger in värdena två i taget, ett värde från ena typen och ett värde från den andra typen. Förstår ni?

Så här ser koden ut nu. Som ni ser på utskriften så fungerar det ej.

```
inForm = Request.Form.Count
For I = 1 To inForm
	strSQL = "Update ShoppingBaskets Set SB_Quantity 
= "& Request.Form("intQuantity") &" Where SB_Products_ID = "& 
Request.Form("intProdID") &" AND SB_SessionID = "& 
Request.Cookies("Webbshop")("SessionID")
	objConn.execute strSQL,,128
Next
```

```
Update ShoppingBaskets Set SB_Quantity = 4, 6 Where SB_Products_ID = 3, 4 AND SB_SessionID = 656703724
```

 :)

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

## #2 — cyprys, 2003-03-15T16:01Z

Det funkar inte riktigt. 
Du måste på något sätt koppla samman ett av dessa inQuantity med en intProdID

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

## #3 — trexter, 2003-03-15T16:03Z

Hmm... du menar att jag ska skapa en 2-dim matris och sedan loopa genom den? Hur gör jag det utifrån mina värden i så fall?

 :)

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

## #4 — solbulle, 2003-03-15T16:13Z

Hur många formulärfält är "massor"?
Samt vad heter dina formfält? Har de bara två namn?

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

## #5 — trexter, 2003-03-15T16:16Z

Ja, de har bara två namn.
Men jag tror jag vet hur jag ska göra nu.

Kommer tillbaka med svaret när jag har tid att fixa med det så kan ni dissa eller berömma.

 :)

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

## #6 — trexter, 2003-03-15T16:49Z

Ok, nu behöver jag hjälp! ;)
Jag har skrivit följande, halvtaskiga, kod:

```
strQuantity = Request.Form("intQuantity")
strProdID = Request.Form("intProdID")
arrQuantity = Split(strQuantity,", ")
arrProdID = Split(strProdID,", ")
		
For i = 0 To Ubound(arrQuantity)
	For j = 0 To Ubound(arrProdID)
		strSQL = "Update ShoppingBaskets Set SB_Quantity = "& arrQuantity(i) &" Where SB_ID_Products = "& arrProdID(j) &" AND SB_SessionID = "& Request.Cookies("Webbshop")("SessionID")
		Response.Write strSQL
		objConn.execute strSQL,,128
	Next
Next
```

Formuläret före denna sidan har denna uppbyggnaden:

```
<form>
<input type="text" name="intQuantity">
<input type="hidden" name="intProdID">
<input type="text" name="intQuantity">
<input type="hidden" name="intProdID"> 
</form>
```

Problemet är att fyra SQL-frågor körs i stället för två stycken som 
det borde vara.

Jag tror att felet ligger i att jag har två matriser i stället för en 
med två dimensioner, men jag vet inte hur jag fixar det.

Någon?

 :)

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

## #7 — trexter, 2003-03-15T17:31Z

... försökte skapa en sammansatt 2-dim matris utifrån de jag redan hade men det gick inte riktigt. Jag vet heller inte om det är det bästa sättet att lösa det på.

```
strQuantity = Request.Form("intQuantity")
strProdID = Request.Form("intProdID")
arrQuantity = Split(strQuantity,", ")
arrProdID = Split(strProdID,", ")
intFields = Ubound(arrQuantity)
Dim arrProdIDAndQuantity(1,intFields)
		
For i = 0 To Ubound(arrProdIDAndQuantity)
		arrProdIDAndQuantity(0,i) = arrQuantity(0,i)
		arrProdIDAndQuantity(1,i) = arrProdID(0,i) 
Next
```

```
Microsoft VBScript compilation error '800a0402' 
Expected integer constant 
Dim arrProdIDAndQuantity(1,intFields)
---------------------------^
```

 :)

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

## #8 — trexter, 2003-03-15T18:17Z

Ok, så här blev koden. Den fungerar i alla fall...
Säg till om ni vet hur jag kan optimera!

```
If Request.Form("intQuantity") <> "" Then
Dim strQuantity, strProdID
Dim arrQuantity, arrProdID
Dim i, j
strQuantity = Request.Form("intQuantity")
strProdID = Request.Form("intProdID")
arrQuantity = Split(strQuantity,", ")
arrProdID = Split(strProdID,", ")

For i = 0 To Ubound(arrQuantity)
		strSQL = "Update ShoppingBaskets Set SB_Quantity = "& arrQuantity(i) &" Where SB_ID_Products = "& arrProdID(i) &" AND SB_SessionID = "& Request.Cookies("Webbshop")("SessionID")
		objConn.execute strSQL,,128
Next
End If
```

 :)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/71175-hur-loopar-man-smartast-igenom-två-arrays-samtidigt
