webForumDet fria alternativet

Uppdatera flera poster

ASP

3 svar · 162 visningar · startad av RiSe

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

Jag har ett litet problem som jag blir arg på mig själv att jag inte löst än.
Jag håller på med ett Shoppingsystem, och problemet ligger i att kunna uppdatera antalet av varje produkt i varukorgen. Det som ska hända är alltså att om man ändrar antalet av en (eller flera) artikel/ar i varukorgen, så ska
ska det nya värdet ersätta det gamla.
Nåja med nuvarande kod återgår den bara till det gamla värdet (som är 1 av default) Om någon har tips på detta är jag mycket tacksam

<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Set RecSet = Server.CreateObject("ADODB.Recordset")
	Connect.Open "DSN=rise" 
if request.form("tomdatabas") <> "" then
	SelString ="SELECT * FROM tabordered where SessionID=" & session("SessionIDNr")
	RecSet.Open SelString,connect,1,3
           if RecSet.recordcount > 0 then
		do until RecSet.recordcount < 1
		RecSet.movefirst
			RecSet.delete
		loop
	End if
RecSet.Close
End if
if request.form("updateme") <> "" then 
	SelString ="Select * From tabOrdered where SessionID = " & session("SessionIDNr")
	RecSet.Open SelString,connect
	if RecSet.recordcount > 0 then
		do until RecSet.eof
                                if IsNumeric(request.form(RecSet("OrderID"))) then
				if clng(request.form(RecSet("OrderID"))) = 0 then
					RecSet.delete
				else
					RecSet("antal") = clng(request.form(RecSet("OrderID")))
					RecSet.update
				End if
                           End if
			RecSet.movenext
		Loop
	End if
	RecSet.close
End if
%>
<table width="500">
<tr><td width="250" align="left">
<form method="POST" action="varukorg.asp" target="main">
<input type="image" src="tomkorgen.gif" border="0" WIDTH="17" HEIGHT="19">
<small><small>Töm varukorgen</small></small>
<input type="hidden" name="tomdatabas" value="yes">
</form></td>
<td width="250" align="right">
<form method="POST" action="varukorg.asp" target="main">
			<input type="image" src="uppdatera.gif" border="0" WIDTH="17" HEIGHT="19" name="updateknapp">
			<small><small>Uppdatera ändringar</small></small>
			<input type="hidden" name="updateme" value="yese">
</td>
</table>

<table width="500">
<tr><td bgcolor="#cccccc"><font face="verdana, helvetica, arial" size="2">Antal</td>
<td bgcolor="#cccccc"><font face="verdana, helvetica, arial" size="2">Art.Nr</td>
<td bgcolor="#cccccc"><font face="verdana, helvetica, arial" size="2">Artikelnamn</td>
<td bgcolor="#cccccc"><font face="verdana, helvetica, arial" size="2">Pris</td>
</td>
<% Set Connect=Server.CreateObject("ADODB.Connection")
Connect.Open "DSN=rise"
Set RecSet=Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM tabordered where SessionID=" & session("SessionIDNr")
RecSet.Open Addera, Connect,1,3
If Recset.Eof Then
%>
<font face="verdana, helvetica, arial" size="2"></table><br><center>Din Varukorg är tom!
<%
Else
Do Until RecSet.EOF 
%>
<tr><td><input type="text" value="<%=RecSet("Antal")%>" name="<%=RecSet("OrderID")%>" size="2"></td>
<td><font face="verdana, helvetica, arial" size="1"><% =RecSet("ID") %></td>
<td><font face="verdana, helvetica, arial" size="1"><% =RecSet("Produkt") %></td>
<td><font face="verdana, helvetica, arial" size="1"><% =RecSet("aPris") %> Kr</td>
<%
RecSet.MoveNext
Loop
End if

If RecSet.eof then
else 
RecSet.Movefirst
Do until RecSet.EOF
Pengar = Pengar + RecSet("aPris") * RecSet("Antal")
RecSet.Movenext
Loop
End if
%>
</table>
</form>
<table>
<tr>
<td width="320"></td>
<td width="100"><b><font size="1">Summa:</td>
<td width="80"><b><font size="1"><% =clng(Pengar)%> Kr</td>
</tr>
<tr>
<td width="320"></td>
<td width="100"><b><font size="1">Frakt:</td>
<td width="80"><b><font size="1">49 Kr</td>
</tr>
<tr>
<td width="320"></td>
<td width="100"><b><font size="2">Totalt:</td>
<td width="80"><b><font size="2"><%=clng(pengar + 49)%> Kr</td>
</tr>
</table>
<%
RecSet.Close
Set RecSet = Nothing
Set Connect = Nothing
%>

------------------
/Andreas

Medlem sedan dec. 20002 526 inlägg
#2

ngt felmess?

------------------
grodan -besök den nu!!!

Medlem sedan maj 20019 inlägg
#3

Inget felmess med koden som den är nu
men om man ändrar till "connect,1,3"
i kodavsnittet nedan får man "An array Index is out of Range"

if request.form("updateme") <> "" then 
SelString ="Select * From tabOrdered where SessionID = " & session("SessionIDNr")
RecSet.Open SelString,connect

------------------
/Andreas

Medlem sedan maj 20019 inlägg
#4

Kanske blev lite oöverskådligt..
Problemet ligger i den här biten av koden..

if request.form("updateme") <> "" then 
SelString ="Select * From tabOrdered where SessionID = " & session("SessionIDNr")
RecSet.Open SelString,connect
if RecSet.recordcount > 0 then
do until RecSet.eof
if IsNumeric(request.form(RecSet("OrderID"))) then
if clng(request.form(RecSet("OrderID"))) = 0 then
RecSet.delete
else
RecSet("antal") = clng(request.form(RecSet("OrderID")))
RecSet.update
End if
End if
RecSet.movenext
Loop
End if
RecSet.close
End if

------------------
/Andreas

273 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
148 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)