---
title: "uppdatera fält från en loop.."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/39771-uppdatera-fält-från-en-loop"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Hallgren"
published: "2002-03-16T13:48:26.000Z"
updated: "2002-03-19T13:11:37.000Z"
replies: 8
views: 265
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/39771-uppdatera-fält-från-en-loop"
---

# uppdatera fält från en loop..

## #1 — Hallgren, 2002-03-16T13:48Z

Yo!

Sitter här och dricker kallt kaffe, lyssnar på Weird Al och stirrar på ett problem som jag inte trodde jag skulle träffa på när jag började att göra detta lilla skript men, men :l

Ska uppdatera fält som är framloopade från dbn men jag kan inte komma på hur jag ska göra min lilla update rad. :( Varför? jo, alla fällt loppas ut med namn och med ett input fält (var) där man ska skriva in det nya nr. MEN alla fält ligger inom samma formulär och  har bara en submit knapp. Det blir att man uppdatera ett fält på flera ställen samtidigt. Hänger någon med? :)

Vet inte riktigt vad jag behöver säga mer så om ni behöver mer info för att hjälpa mig på något sätt så säg till.

Fridens!

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

## #2 — solbulle, 2002-03-16T15:31Z

Lite kod kanske?

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

## #3 — Hallgren, 2002-03-16T15:43Z

...

Kod är egentligen det jag inte har..typ :)

Det lilla jag har ju nu är..

```
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={MYSQL};server=localhost;db=webshop;uid=;pwd=;"

Set prod_antal = Connect.Execute("SELECT * FROM varor WHERE lager < 5")
%>
<form method="post" action="main.asp?product_update=yes">
<table border="0" width="400">

	<tr>		
		<td colspan="4" height="20">
		<b style="color:#ee0000">Följade varor börjar att ta slut i lagret!</b>
		</td>
	</tr>
	<tr>
		<td width="100">
		<b>Produkt</b>
		</td>

		<td width="100" align="center">
		<b>Artikelnumer</b>
		</td>
	
		<td width="100" align="center">
		<b>I lager</b>
		</td>
		
		<td width="100" align="center">
		<b>Nytt antal</b>
		</td>
	</tr>

<%
Do until prod_antal.eof
%>

	<tr>
		<td width="100">
		<%=prod_antal("vara")%>
		</td>
	
		<td width="100" align="center">
		<%=prod_antal("artnr")%>
		</td>
	
		<td width="100" align="center">
		<%=prod_antal("lager")%>
		</td>

		<td width="100" align="center">
		<input type="text" size="3" name="<%=prod_antal("artnr")%>">
		</td>
	</tr>
<%
prod_antal.MoveNext
Loop

Connect.Close
Set Connect = Nothing
%>
```

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

## #4 — Hallgren, 2002-03-16T20:03Z

...

..det kanske inte går att lösa. Någon som har ett bättre förslag?

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

## #5 — LarsG, 2002-03-16T20:19Z

Jo, det går nog att ordna

Om du lägger till ett hidden fält som innehåller alla artikelnummer

```
<input type="hidden" name="artnr" value="<%=prod_antal("artnr")%>">
```

och sedan på uppdaterings sidan

```

for each artnr in request.form("arntr")
query = "update varor set lager = " & request.form(artnr) & " where artnr = " & artnr
connect.execute query,,128
next
```

Det går att få ihop det till en en update-fråga

```
query = "update varor set lager = case artnr "
for each artnr in request.form("artnr")
query = query & "when " & artnr & " then & request.form(artnr) & " "
next
query = query & " end where atrnr in (" & request.form("artnr") & ")"
```

Det här förutsätter att artnr är numeriskt annars så får man dona lite till.

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

## #6 — Hallgren, 2002-03-16T20:50Z

...uh?

nu är jag lite osäker på vilken snutt jag ska använda.. :l

\[r\]
Mmmm, nu har jag missförstått något. :l Jag måste ju hämta det nya värdet någonstans, men vart gör jag det i din kod?

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

## #7 — LarsG, 2002-03-17T17:30Z

Jag tänkte att fältet som du döper till samma namn som artiklenummer skulle innehålla det nya värdet för lager.

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

## #8 — Hallgren, 2002-03-17T18:36Z

..typ?

Detta funkar iallafall inte. Mmm, har nog missförståt något..igen. :l

```
<%
If request.querystring("product_update") = "yes" then

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={MYSQL};server=localhost;db=webshop;uid=;pwd=;"

for each artnr in request.form("arntr")
query = "update varor set lager = " & request.form("artnr") & " where artnr = " & artnr
connect.execute query,,128
next

Connect.Close
Set Connect = Nothing

else
%>

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={MYSQL};server=localhost;db=webshop;uid=;pwd=;"

Set prod_antal = Connect.Execute("SELECT * FROM varor WHERE lager < 5")
%>
<form method="post" action="main.asp?product_update=yes">
<table border="0" width="350">

	<tr>		
		<td colspan="3" height="20">
		<b>Följade varor har nått den uppsatta minimumgränsen</b>
		</td>
	</tr>
	<tr>
		<td width="150">
		<b>Produkt</b>
		</td>
	
		<td width="100" align="center">
		<b>I lager</b>
		</td>
		
		<td width="100" align="center">
		<b>Nytt antal</b>
		</td>
	</tr>

<%
Do until prod_antal.eof
%>

	<tr>
		<td width="150">
		<%=prod_antal("vara")%>
		</td>
	
		<td width="100" align="center">
		<%=prod_antal("lager")%>
		</td>

		<td width="100" align="center">
		<input type="text" size="3" name="<%=prod_antal("artnr")%>">
		<input type="hidden" name="artnr" value="<%=prod_antal("artnr")%>">
		</td>
	</tr>
<%
prod_antal.MoveNext
Loop

Connect.Close
Set Connect = Nothing
%>

	<tr>
		<td colspan="4">
		<input type="submit" value="uppdatera">
		</td>
	</tr>
</table>
</form>
<%
end if
%>
```

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

## #9 — Hallgren, 2002-03-19T13:11Z

...

Nu blir jag bara ledsen. Jag får det inte att funka! :(

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/39771-uppdatera-fält-från-en-loop
