Avatar billede jessbonde Nybegynder
21. april 2003 - 17:58 Der er 2 kommentarer og
1 løsning

Problem med querystring og form

Jeg har en løkke der skriver nogle forms ud, man skal der have mulighed for at slette det enkelte indlæg.

Når jeg submitter sender den alle RS("id")'er til min querystring.
Hvordan får jeg den til at sende kun den relevante id?

Det jeg spørger på:

<%
if request.querystring("delete").count() then
    strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../../log/rubiks.mdb")
    Set myConn = Server.CreateObject("ADODB.Connection")
    myConn.Open strDSN
        strSQL = "DELETE * FROM info WHERE id =" & request.querystring("id")
    set RS = myConn.execute(strSQL)
end if
%>

....

Min form:

<%
Do While Not RS.EOF
%>
<span class="h5">Subject:<br></span>
<input type="hidden" name="id" value="<%=RS("id")%>">
<input type="text" name="subject" class="input5" size="50" value="<%= subject%>"><br>
<span class="h5">Text:<br></span>
<textarea cols="98" rows="5" name="text" class="input5"><%= text%></textarea><br>
<input type="submit" class="input2" value="Update">&nbsp;&nbsp;<input type="submit" name="delete" class="input2" value="Delete"><hr>
<%
RS.MoveNext
Loop
%>
Avatar billede mortrr Praktikant
21. april 2003 - 18:08 #1
I det her tilfælde var det nok bedst at lave det som en lang række formularer.

<%
Do While Not RS.EOF
%>
<form action=....>
<span class="h5">Subject:<br></span>
<input type="hidden" name="id" value="<%=RS("id")%>">
<input type="text" name="subject" class="input5" size="50" value="<%= subject%>"><br>
<span class="h5">Text:<br></span>
<textarea cols="98" rows="5" name="text" class="input5"><%= text%></textarea><br>
<input type="submit" class="input2" value="Update">&nbsp;&nbsp;<input type="submit" name="delete" class="input2" value="Delete"></form><hr>
<%
RS.MoveNext
Loop
%>
Avatar billede jessbonde Nybegynder
21. april 2003 - 18:13 #2
Udmærket... men jeg forstår ikke hvorfor?
Avatar billede mortrr Praktikant
21. april 2003 - 18:26 #3
Du får alle ID'er, fordi du har en lang formular med mange felter der hedder ID. Når du så bruger Request("ID") får du alle ID'er separeret med komma.

Det bruger man fx ved at lade brugeren afkrydse hvilke der skal slettes, og har en enkel "delete" knap. Fx:
<form action=....><%
Do While Not RS.EOF
%>
<br><input type="checkbox" name="DeleteID" value="<%=RS("id")%>"> <%=RS("Subject")%>
<%
RS.MoveNext
Loop
%>
<input type="submit" name="delete" class="input2" value="Delete"></form>

Så kan du requeste DeleteID og bruge:
strSQL = "DELETE * FROM info WHERE id IN (" & request.querystring("DeleteID") & ")"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester