DeeMedlem sedan okt. 2001116 inlägg
Nu har jag kört fast igen. :(
Jag försöker ta bort poster i en databas (access) "mha" checkboxar, som i den här tråden men jag får det inte att fungeara.
Response.Write "<form><table border=""0"" cellpadding=""0"" cellspacing=""0"">"
Response.Write "<tr><td id="& RS("id") &">"
Response.Write "<input type=""checkbox"" name=""thisone"" value='"& RS("id") &"' onClick=""document.getElementById('"& RS("id") &"').style.backgroundColor=(this.checked)?'#EEEEEE':'white';"">"
Response.Write "<a href=""#"" onClick=""popup('popit.asp?nyhet="& RS("id") &"','popupnamn','toolbar=no,scrollbars=no,resize=no,status=no,width=400,height=200')"">"& RS("head") &" "& RS("when") &"</a>"
Response.Write "</td></tr>" & vbNewLine & vbNewLine
Response.Write "</table></form>"
'
'
'
'
SQL = "DELETE FROM tabell WHERE id IN ("& Request.Form("thisone") &")"
Conn.Execute(SQL)
När jag skriver ut sql-satsen får jag: DELETE FROM tabell WHERE id IN ()
Vad har jag gjort för fel?
@ndersMedlem sedan juni 200026 914 inlägg
Jag ser inte att du har något som postar formuläret (ingen submit-knapp eller dylikt). Du har inte heller angett metod i din form-tagg (då antas GET automatiskt, vilket innebär att du skall använda Request.Querystring för att hämta värden på mottagarsidan). Ej heller har du med någon action på formuläret, vilket får mig att tro att allt körs på samma sida, och dessutom ovillkorligen. DELETE-satsen ska väl bara exekveras när man har postat formuläret?
jimpaMedlem sedan jan. 2001364 inlägg
Vet inte om det löser problemet, men ska det inte vara
SQL = "DELETE * FROM tabell WHERE id IN ("& Request.Form("thisone") &")"
DeeMedlem sedan okt. 2001116 inlägg
@nders >> Postade i min lathet bara dom rader där jag antog att felet borde ligga. :r Här kommer en större bit...
'## open db
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("db.mdb")
Response.Write "<form method=""POST"" action=""admin.asp?action=bye"">"
Response.Write "<input type=""submit"" value=""Ta bort"">"
Response.Write "</form>"
Response.Write "<form><table border=""0"" cellpadding=""0"" cellspacing=""0"">"
SQL = "SELECT * FROM tabell ORDER BY when DESC"
Set RS = Conn.Execute(SQL)
Do Until RS.EOF
Response.Write "<tr><td id="& RS("id") &">"
Response.Write "<input type=""checkbox"" name=""thisone"" value='"& RS("id") &"' onClick=""document.getElementById('"& RS("id") &"').style.backgroundColor=(this.checked)?'#EEEEEE':'white';"">"
Response.Write "<a href=""#"" onClick=""popup('popit.asp?nyhet="& RS("id") &"','popupnamn','toolbar=no,scrollbars=no,resize=no,status=no,width=400,height=200')"">"& RS("head") &" "& RS("when") &"</a>"
Response.Write "</td></tr>" & vbNewLine & vbNewLine
RS.MoveNext
Loop
RS.Close
Set RS = nothing
Response.Write "</table></form>"
'ACTIONS ###############################################################################################################################
If Request.Querystring("action") = "add" Then
SQL = "Insert Into tabell(cat,when,head,info,name)" &_
"Values('"& cat_in &"','"& Now() &"','"& head_in &"','"& info_in &"','"& name_in &"')"
Conn.Execute(SQL)
Response.Redirect("admin.asp")
ElseIF Request.Querystring("action") = "bye" Then
SQL = "DELETE FROM tabell WHERE id IN ("& Request.Form("thisone") &")"
Conn.Execute(SQL)
Response.Redirect("admin.asp")
End If
Conn.Close
Set Conn = nothing
Jesper TMedlem sedan nov. 20017 058 inlägg
Lägg inte "action", " bye" och "add" i en q.s, lägg den i ett hiddenfält för det första. Och anropa med Request.form("action") = "bye".
Jesper TMedlem sedan nov. 20017 058 inlägg
Varför är det två forms...detta verkar mysko?
DeeMedlem sedan okt. 2001116 inlägg
Ängel!
Inte konstigt att det inte fungerar om dom ligger i olika forms.
Jaha det ska man väl ha för att man kodar på nätterna...
tack, tack, tack