webForumDet fria alternativet

Ta bort markerade meddelanden...

ASP

11 svar · 271 visningar · startad av Thompa__85

Medlem sedan aug. 2002600 inlägg
Frågan#1

Hejsan!
I en inkorg jag bygger, vill jag att dom mail som är markerade med en Checkbox ska raderas..
Jag har denna kod för min checkbox:

<input type='checkbox' name='delIDs' value="<%=rs("id")%>">

Men sen, då vet jag inte hur jag ska ta mig till..?
Vill att när man klickar på en länk, ska dom meddelanden som är markerade raderas från Databas: databas/databas och tabellnamn: mess

Men hur?`Jag har inte en aning...

Vore jätte tacksam för svar!

Mvh adde

Medlem sedan mars 20023 561 inlägg
#2

Du får loopa igenom alla markerade checkboxar i Request.Form, och ta bort alla id i databasen som är markerade på sidan.

Medlem sedan mars 20032 667 inlägg
#3

Josef skrev:

Du får loopa igenom alla markerade checkboxar i Request.Form, och ta bort alla id i databasen som är markerade på sidan.

Svar Nej. ;)

Under förutsättning att alla checkboxar heter samma sak kan du göra så här:

sql = "DELETE FROM mess WHERE id IN (" & Request.Form("delIDs") & ")"
Medlem sedan aug. 2002600 inlägg
#4

har gjort så här nu:

if request.querystring("action")="tabort" then

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("databas/databas.mdb")
sql = "DELETE FROM mess WHERE id IN (" & Request.Form("delIDs") & ")"

end if

Men den tar inte bort mailet ändå.. sidan laddas bara om...

Har gjort en länk som ser ut så här:

<a href="las_mess.asp?action=tabort">Tabort markerade mail</a>
Medlem sedan mars 20032 667 inlägg
#5

Du får ta och exekvera sql-frågan också:

if request.querystring("action")="tabort" then

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("databas/databas.mdb")
sql = "DELETE FROM mess WHERE id IN (" & Request.Form("delIDs") & ")"

Connect.execute(sql),,128

end if
Medlem sedan aug. 2002600 inlägg
#6

Ger detta felmeddelande nu:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'id IN ()'. 

/adde/star/2/las_mess.asp, line 31

Och rad 31 är:
Connect.execute(sql),,128

Vad har jag gjort fel?

Medlem sedan mars 20032 667 inlägg
#7

Du får inget värde från ditt formulär. Du får skicka iväg dina checkboxar med metoden post från ett formulär. Den länken du visar ovan är oduglig till detta.

Men nu är vi inne på ren HTML.

<form action="las_mess.asp?action=tabort" method="post">

[b]--- Här loopar du ut alla dina checkboxar ---[/b]

<input type="submit" name="submit" value="Ta bort">
</form>
Medlem sedan aug. 2002600 inlägg
#8

Börjar få det att fungera nu, men..
ibland går det inte att tabort.. då laddas sidan bara om..
men rätt som de e så går de å ta bort :/
Vad kan detta bero på?

Medlem sedan aug. 2002600 inlägg
#9

Varannan gång verkar det som...

Medlem sedan aug. 2002600 inlägg
#10

Och sen om jag markerar 5 inlägg första gången, klickar på tabort, då laddas sidan om...
sen klickar jag på endast 1 inlägg å klickar på tabort.. då tar den bort alla 5 som jag markerade första gången.. HEL MYSKO :/

Medlem sedan juni 20003 076 inlägg
#11

kör en response.redirect till samma sida efter deleten, så att du på så sätt får en ny, ren opostad sida.

Medlem sedan aug. 2002600 inlägg
#12

Tack det löste allt!

254 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
115 ms — ändringar (db)