/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Slette flere poster
Fra : Ukendt


Dato : 10-06-09 20:54

Hej...

Jeg har lavet en masse poster og udskriver dem således:

<form action="inbox.asp" id="mailform" method="post">
<table cellspacing="0px" class="contenttable">
       <tr class="header">
          <td><input type="checkbox" name="checkall"
onclick="checkedAll(mailform);" /></td>      
<td>Emne</td>
       <td>Afsender</td>
       <td>Dato</td>      
</tr>

<%

' SQL forespørgsel
strSQL = "SELECT * from DB1"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)




If rs.eof Then
Response.Write "<tr><td rowspan='8'>Du har ingen
sider</td></tr>"
Else
' Gennemløb Recordset (rs) med en løkke
Do

%>
<tr>
       <td><input type="checkbox" name="id"
value="<%=rs("id") %>" /></td>      
<td><a href="readmessage.asp?id=<%=rs("id")
%>"><%=rs("subject") %></a></td>
       <td><%=sender %></td>
       <td><%=rs("date") %></td>      
</tr>
<%
rs.movenext

' Fortsæt indtil rs er gennemløbet (EOF = End Of
File)
Loop While Not rs.EOF
%>
<tr>
<td colspan="4"><input type="submit"
name="function" value="Slet" /></td>
</tr>
</table>
</form>
<%
IF Request.Form("function") = "Slet" Then
' SQL sætning opbygges
strSQL = "Update DB1 set "
strSQL = strSQL & "deleted= 'yes'"
strSQL = strSQL & " "
strSQL = strSQL & " Where id = " & Request.Form("id")
' SQL sætning eksekveres
Conn.Execute(strSQL)

End If %>
<%End If %>

Det virker også fint når jeg bare har valgt en post, men hvis jeg så vælger
to bruger den komma. Hvad skal jeg bruge i stedet? Har forsøgt med AND og
forskellige andre.

Hilsen Anders

Jeg ved det er muligt, bare ikke hvordan..


--
Anders Mikkelsen
www.designagroup.dk


 
 
Leif Neland (11-06-2009)
Kommentar
Fra : Leif Neland


Dato : 11-06-09 09:14

IF Request.Form("function") = "Slet" Then
> ' SQL sætning opbygges
> strSQL = "Update DB1 set "
> strSQL = strSQL & "deleted= 'yes'"
> strSQL = strSQL & " "
> strSQL = strSQL & " Where id = " & Request.Form("id")
> ' SQL sætning eksekveres
> Conn.Execute(strSQL)
>
> End If %>
> <%End If %>
>
> Det virker også fint når jeg bare har valgt en post, men hvis jeg så
> vælger to bruger den komma. Hvad skal jeg bruge i stedet? Har forsøgt med
> AND og forskellige andre.
>
> Hilsen Anders
>
> Jeg ved det er muligt, bare ikke hvordan..
>

Den lette løsning er

.... where id in ( " & Request.form("id") & ")"

Og så er det jo let at kalde din side fra en form med id="1) or (1=1"

Så for at være sikker, bør et script ikke stole på input, men først splitte
strengen efter komma, checkke om alle værdierne er heltal, og derefter sætte
strengen sammen igen selv, før sql-sætningen bygges op.

Leif

>
> --
> Anders Mikkelsen
> www.designagroup.dk



Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste