webForumDet fria alternativet

Borttagning av post från dropdown?

ASP

3 svar · 246 visningar · startad av Mattias

Medlem sedan mars 2000205 inlägg
Frågan#1

Har en kundkorg i en dropdownmeny i en frame längst ner på sidan där jag vill ta bort den vara som är vald i dropdownen. Problemet är dock att när jag väljer att ta bort en post så tas alltid den först uppradade posten bort, oberoende av vad jag väljer i dropdownmenyn. Har testat olika alternativ utan att lyckas lösa det. Därför hoppas jag att ni kanske ser felet:

Framen med dropdown-menyn:

...
<%
sql = "select tblorder.prodid, tblprod.prodnamn, tblorder.antal, tblprod.pris from tblprod inner join tblorder on tblprod.prodid = tblorder.prodid"
Set rs = connect.execute(sql)
%>

<form method="POST" action="tabort.asp?delID=<%=valdprod%>" target="underst">
<select NAME="varor" size="1" style="font-family: Verdana ; width: 300px ; font-size: 10px">
<option selected>Din kundkorg innehåller:</option>
<option>-----------------------------</option>

<%
do until rs.eof
valdprod = rs("prodid")
namn = rs("prodnamn")
%>

<option value="<%=valdprod%>"><%=rs("antal")%><%response.write (" st  ")%><%=namn%>
<%response.write ("  ")%> <%=rs("pris")%>:-</option>

<%
rs.movenext
loop

rs.close
set rs = nothing
%>

</select> </font><font face="verdana" size="1" color="#FFFFFF"> 
    </font><font face="verdana" size="2" color="white"><input type="submit" value="Ta Bort" name="B1">
...

Så här ser (den relevanta) koden i tabort.asp ut:

<%
Set rs = CreateObject("ADODB.Recordset")

Radera = "SELECT * FROM tblorder WHERE tblorder.prodid LIKE '%" & Request.QueryString("valdprod") & "%'"

rs.Open Radera, Connect, adOpenStatic, adLockOptimistic 

rs.Delete 

rs.Close
Connect.Close 
%>

Tacksam för svar.

[Redigerat av Mattias den 24 nov 2000]

Medlem sedan juni 200032 967 inlägg
#2

förstår inte riktigt var du får valdprod ifrån.

den relevanta koden i tabort.asp borde nog se ut någonting sånt härnt:

<%
Radera = "DELETE FROM tblorder WHERE tblorder.prodid = " & Request.Form("varor")
Connect.execute (Radera)
Connect.Close 
%>

är prodid verkligen ett text-fält, och i så fall varför?

varför använder du like i din select-sats i tabort.asp?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
that's what brian boitano would do!</A>

[Redigerat av @nders den 24 nov 2000]

Medlem sedan mars 2000205 inlägg
#3

Anledningarna till de tveksamt valda "lösningarna" du tar upp är, helt enkelt, okunskap i kombination med viljan att testa olika alternativ innan jag ställde min fråga här, vilket lett till en hel del konstigheter. :)

Testade precis att implementera ditt förslag, men tyvärr fungerade det inte denna gång iheller.

Kod efter ändring på "form"-sidan:

<%
...
do until rs.eof

'valdprod = rs("prodid")

namn = rs("prodnamn")

%>
<option value="<%=rs("prodid")%>"><%=rs("antal")%><%response.write ("&nbsp;st&nbsp;&nbsp;")%><%=namn%>
<%response.write ("&nbsp;&nbsp;")%> <%=rs("pris")%>:-</option>
....

Kod efter ändringar i tabort.asp:

Set rs = CreateObject("ADODB.Recordset")

Radera = "Delete * FROM tblorder WHERE tblorder.prodid=" & Request.form("prodid")

Connect.execute(Radera)

rs.Close
Connect.Close

Vi fick följande felmeddelande:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'tblorder.prodid='.
/fore2/tabort.asp, line 22

(Rad 22 är "Connect.execute(Radera)"-raden)

------------------

// Mattias

Medlem sedan juni 200032 967 inlägg
#4

du måste ju ha någonting i request.form("prodid").

varför prodid? din selectbox heter varor, och där skall du ha id som value i dina options. om du har det skall det fungera.

okunskap är ett bra skäl till att göra konstiga saker, så länge man lär sig. :)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
that's what brian boitano would do!</A>

247 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)