webForumDet fria alternativet

Uppdatera flera poster samtidigt

ASP

13 svar · 526 visningar · startad av devotion

Medlem sedan jan. 20013 582 inlägg
Frågan#1

:)

Har följande kod som uppdaterar antalet i en varukorg. Den bygger på att man uppdaterar en artikel för sig. Men hur gör amn för att uppdatera alla artiklar samtidigt?? Dvs ha en knapp som uppdaterar antalet på alla artiklar man ändrat....

<%

Dim strSQL

Set objConn = Server.CreateObject("ADODB.Connection") 
objConn.ConnectionString = "DSN=IntranetSydostel"
objConn.Open

strSQL="UPDATE tblCart SET quantity = " & Replace(Request.querystring("quantity"), "'", "''") & " WHERE eNumber= '" & Replace(Request.querystring("eNumber"), "'", "''") & "' AND userId= " & session("userId") & ""
objConn.Execute(strSQL),,128

objConn.Close
Set objConn = Nothing

%>

Mvh

Medlem sedan nov. 20017 144 inlägg
#2

Eftersom att antalet antagligen kan vara olika på varje vara så får du göra någon form av loop.

Medlem sedan jan. 20013 582 inlägg
#3

:)
Hur skulle en sådan loop se ut?

Ska jag använda recordset för att köra igenom hela tabellen?

Mvh

Medlem sedan jan. 20013 582 inlägg
#4

:)
Någon?

mvh

Medlem sedan apr. 20031 660 inlägg
#5

HEJ!

Eftersom alla antalfält har samma namn, får du med Request.querystring("quantity") en sträng liknande "3,5,1,2".
Likadant med eNumber.

Splitta dessa i array, loopa genom den och uppdatera arr_q(i) för respektive arr_e(i).

Medlem sedan nov. 20017 144 inlägg
#6

Du får använda POST som medtod i formuläret och som princip (Detta exempel måste trimmas lite för att passa dig):

For each item in Request.form 
	If not request.form(item) = "submit" then 
		strSQL="UPDATE tblCart SET quantity = " & Replace(request.form(item), "'", "''") & " WHERE userId= " & session("userId")
		objConn.Execute(strSQL),,128
	End if
Next
Medlem sedan nov. 20017 144 inlägg
#7

Eller när jag tänker efter så är det bättre att göra som J.N. skrev. :)

Medlem sedan jan. 20013 582 inlägg
#8

:)
Hej hopp!
Alla antalfälten har faktiskt inte samma namn. De bygger på denna strukturen: quantity+eNumber och blir därför unikt!!

Kan inget om arrayer än så om det är det bästa sättet skulle jag gärna ha mer tips om det!!

mvh

Medlem sedan apr. 20031 660 inlägg
#9

HEJ!

devotion skrev:

Alla antalfälten har faktiskt inte samma namn. De bygger på denna strukturen: quantity+eNumber och blir därför unikt!!

Då får du göra om! :h
Borde gå snabbt att testa om det bli enklare.

Fältnamn kommer man nog inte åt, om man inte loopar genom fältnamnen (men då vet man vad som ska frågas efter redan!), kollar värde, uppdaterar databasen.
Krångligt, med andra ord, hade jag inte gjort!

Split:
http://www.devguru.com/Technologies/vbscript/quickref/split.html
Arrayer:
http://www.devguru.com/Technologies/vbscript/quickref/array.html

Finns otaliga trådar om det på wF också.

Medlem sedan jan. 20013 582 inlägg
#10

:)

Denna kod skickar infon till uppdateringskoden:

Response.Write "<td class=""itabell""><input class=""formular"" name=""quantity" & objPricesDict.Item("eNumber") & """ Value=""" & objPricesDict.Item("quantity") & """ type=""text"" size=""4"" maxlength=""4""></td>"
Response.Write "<td class=""itabell""><a href=""#"" onclick=""location.href='../cart/editQuantity.asp?eNumber=" & objPricesDict.Item("eNumber") & "&quantity=' + document.getElementById('quantity" & objPricesDict.Item("eNumber") & "').value;""><img src=""../Images/editQuantity.gif"" alt=""Klicka här för att ändra antal!"" border=""0""></a></td>"
Response.Write "<td class=""itabell""><a href=""deleteArticle.asp?eNumber=" & objPricesDict.Item("eNumber") & """><img src=""../Images/soptunna.gif"" alt=""Klicka här för att ta bort artikeln!"" border=""0""></a></td>"

mvh

Medlem sedan juni 200032 967 inlägg
#11

Här kan man läsa om den generella snabelmetoden för dylika frågeställningar: http://www.webforum.nu/showthread.php?s=&postid=1006519#post1006519

Mvh

Medlem sedan jan. 20013 582 inlägg
#12

:)
Det kanske ska gå att fixa till!!

TACK!
snabelmetoden?

mvh

Medlem sedan juni 200032 967 inlägg
#13

Vänstertecknad kallas normalt för snabeln pga wF-nickets inledning. ;)

snabeln, snabelanders, ap-anders, marsvinet. Bränt barn, du vet...

Medlem sedan jan. 20013 582 inlägg
#14

:h
okidoki

Du....

Detta är fel tråd men när du ändå är "på tråden" vet du hur jag ska lösa detta...???

http://www.webforum.nu/showthread.php?s=&postid=1009565#post1009565

Det är så tomt här idag....

Mvh

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