Har lite problem med communityn jag håller på att bygga upp! Varje användare har en varsin, så kallad brevlåda med meddelanden från andra medlemmar och så. Försöker få till så att om man vill så ska man kunna markera de meddelanden som man vill radera. Fast det går inget bra.
Den här koden har jag testat, men då raderas alla meddelanden istället för bara de man markerat.
kod:
<%Meddelande = "SELECT * FROM meddelande WHERE tillID = "&Session("id")
RecSet.Open Meddelande, Connect, adOpenStatic, adLockOptimistic
Do Until RecSet.EOF
If Request.Form("id") = "" Then
Else
RecSet.Delete
End If
RecSet.Update
RecSet.MoveNext
Loop
RecSet.Close%>
Någon som vet hur jag ska gå till väga?
Jo jag har redan sett den där tråden men jag blir inte mycket klokare av det... :(
Testade att skriva exakt så här men det fungerade inte häller:
<%If Request.QueryString("vad") = "meddelanden" Then%>
<%strSQL = "DELETE FROM meddelande WHERE id IN (" & Request.Form("id") & ")"%>
<SCRIPT LANGUAGE="javascript">
{
alert('Markerade meddelanden är borttagna!');
document.location.href='brevlada.asp';
}
</SCRIPT>
<%End If%>
Förstår mig inte på hur de där sql satserna fungerar, van vid den andra varianten!
GimboMedlem sedan dec. 20001 626 inlägg Anders variant som fanns i länken verkade väldigt enkel, det du ska göra är detta:
du har en sida där du listar samtliga meddelanden som finns i inkorgen bredvid de har du en checkbox, right?
Så här ska d se ut hos dig (naturligtvis har Du en loop so mjag inte tar med här):
<form name="form" method="post" action"radera.asp">
<input type="checkbox" name="radera" value="<%=rs(id)%>"><%=rs(meddelandet)%>
<p>
<input type="submit" value="radera">
Sedan i filen radera.asp skriver du detta:
<%
strSQL=" DELETE from tabell WHERE fältet IN (" & Request.Form("radera") &") "
response.write "de markerade inläggen är raderade"
%>
Gjorde exakt som du sa men det fungerade inte =( Jag får inget felmeddelande eller nått sånt, det är bara det att posten raderas inte!
Tror det kan vara databaskopplingen det är fel på, så här ser den ut:
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)}; dbq=" & server.mappath ("lilladatabasen/inget2/databas.mdb")&";pwd=detdu"
Set RecSet = Server.CreateObject("ADODB.Recordset")%>
GimboMedlem sedan dec. 20001 626 inlägg Vad får du för felmeddelande och på vilken rad?
i min kod använde jag rs, men du har deklererat recset...
Jag får inget felmeddelande.. Och, ja jag har ändrat till RecSet!
Konstigt...
@ndersMedlem sedan juni 200032 969 inlägg Hur ser den färdiga SQL-frågan ut om du skriver ut den med Response.Write?
GimboMedlem sedan dec. 20001 626 inlägg strSQL = " ............. "
response.write strSQL
skriv response.write strSQL under din sql satts, och posta det du får, här...
DELETE from meddelande WHERE id IN (654)
solbulleMedlem sedan mars 20015 287 inlägg Kör du din sträng sen då? (Kanske en dum fråga...)
typ:
Connect.execute strSQL,,128
Red. Jo, om inte annat klantigt formulerat av mig,
Kör du, executar(?) du din SQL-sats?
...borde jag kanske skrivit. :)
Förstod inte riktigt vad du menade... All kod jag har är det här:
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)}; dbq=" & server.mappath ("databas.mdb")&";pwd=detdu"
Set RecSet = Server.CreateObject("ADODB.Recordset")
strSQL=" DELETE from meddelande WHERE ID IN (" & Request.Form("radera") &") "
response.write strSQL
%>
och sen checkboxen med id:et i.
solbulleMedlem sedan mars 20015 287 inlägg <% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)}; dbq=" & server.mappath ("databas.mdb")&";pwd=detdu"
Set RecSet = Server.CreateObject("ADODB.Recordset")
strSQL=" DELETE from meddelande WHERE ID IN (" & Request.Form("radera") &") "
'response.write strSQL
Connect.execute strSQL,,128
%>
Tack så mycket alla för hjälpen... Fick till det nu =)
CatZMedlem sedan jan. 20022 440 inlägg Hur ser den färdiga koden ut nu då ? :) Ett tips kan vara att stänga ner alla webläsarfönster... ibland lagras sidor i webläsarens cacheminne så att sidan inte updateras förrens man har stängt ner allt :(