webForumDet fria alternativet

Tips på admindel till gästbok !!!

ASP

25 svar · 686 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Frågan#1

Hej Svejs

Har gjort en gästbok i Flash som använder sig av Asp / Access.

Nu vill jag göra en admin del så jag kan ta bort inlägg utan att behöva öppna databasen.

Skippa flashdelen, det klarar jag av, problemet är resten.

Hur ska jag göra för att ta bort utvalda inlägg, skulle bli överlycklig om jag kunde få kodexempel på hur det ska se ut, som det vore en HTML / ASP / ACCESS db, men exempelvis kryssrutor för vilka som man vill ta bort.

Tack !!!

Medlem sedan dec. 20003 887 inlägg
#2

Ta bort något ur databasen utan att öppna den?

Tänker du konstigt nu eller är det jag som tolkar dig helt galet? :q

Medlem sedan jan. 20023 327 inlägg
#3

Posterna måste först hämtas om du skall kunna göra ett urval.

Medlem sedan feb. 20034 441 inlägg
#4

Ja, ja är inte helt lost, det fattar jag med, men det jag ville ha är vad som ska hända EFTER det attjag markerat inläggen som ska tas bort, och tryckt på en knapp...

Medlem sedan mars 20021 889 inlägg
#5
BEGIN Loop genom checkboxarna
  Kolla om checkboxen är 1 (true)
    Ta isf bort raden det gäller
END Loop

http://www.devguru.com

(ska äta nu så det han inte bli mer än då här ;) )

:)

Medlem sedan nov. 20017 144 inlägg
#6

Sätt en checkbox efter varje inlägg och kör ngt liknande:

<%	
'radera inlägg
kId = request("kId")
Set con = Server.CreateObject("ADODB.Connection") 
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("/guestbook.mdb")

'Ta bort poster med en loop
xBoxar = split(kId,",") 

For x = 0 To UBound(xBoxar)
sql = "delete from Table where K_Id=" & cint(xBoxar(x))
    con.Execute sql,,128
next

   con.Close 
   Set con = Nothing 
response.redirect "guestbook.asp"
%>

Jag har dock sätt att LarsG har visat ett annat sätt som såg smartare ut.

Medlem sedan dec. 200012 464 inlägg
#7
kId = request("kId")
Set con = Server.CreateObject("ADODB.Connection") 
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("/guestbook.mdb")

sql = "delete from Table where K_Id in(" & kid  & ")"
con.Execute sql,,128

   con.Close 
   Set con = Nothing 
response.redirect "guestbook.asp"
Medlem sedan nov. 20017 144 inlägg
#8

Och där kom det! ;)

Medlem sedan feb. 20034 441 inlägg
#9

Ok, fattar lite mer, men inte allt...

Ingen snäll gosse därute som har lust att smälla ihop en exempelfil med en aspfil och en accessfil och skicka till mig på:

Info@MickeA.com

??

Vore überbussigt ; ))

Medlem sedan mars 20015 287 inlägg
#10

Aspfilen har du ju i princip redan, databasen likaså, bara namnen som borde behöva ändras.
Vad är det som är oklart?

Medlem sedan feb. 20034 441 inlägg
#11

Just DET är oklart, namnen osv. fattar inte vissaa grejjer, som xboxar = split o hit o dit...

Medlem sedan nov. 20017 144 inlägg
#12

Nej, men det är väl inte så svårt.
Loopa ut hela ditt recset med alla dina inlägg på en sida.

Do while Recset.eof
Response.write "<Input type="checkbox" name="kId" id="&recset("id")&">&nbsp;"&recset("namnpåöverskriftskolumnen") &"<br>"
Loop
Medlem sedan mars 20021 889 inlägg
#13

r

Medlem sedan mars 20015 287 inlägg
#14
<form action="radera.asp" method="post">
<%
Do while Recset.eof
Response.write "<Input type="checkbox" name="kId" id="&recset("id")&"> "&recset("namnpåöverskriftskolumnen") &"<br>"
Loop
'stäng db osv.
%>
<input type="submit" value="Radera">
</form>

Sen lägger du LarsGs kod http://www.webforum.nu/showthread.php?s=&postid=590011#post590011 i radera.asp

Du måste där ändra "Table where K_Id" så att Table motsvarar ditt tabelnamn samt K_Id motsvarar ditt namn, id på den kolumnen vars id du använder dig av.
(Givetvis ändrar du till motsvarande i loopen på förstasidan med.)

Medlem sedan nov. 20017 144 inlägg
#15

trexter skrev:

While NOT Recset.eof

borde det väl vara?

:)

Det borde det, miss av mig.

kId = request("[red]kId[/red]")
Set con = Server.CreateObject("ADODB.Connection") 
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("[red]guestbook.mdb[/red]")

sql = "delete from[red] Table[/red] where [red]K_Id[/red] in(" & kid  & ")"
con.Execute sql,,128

   con.Close 
   Set con = Nothing 
response.redirect "[red]guestbook.asp[/red]"

kId är namnet på checkboxen
guestbook.mbd är namnet på din databas
Table är namnet på din tabell
K_Id är namnet på din kolumn
guestbook.asp är namnet på sidan du skall hamna på när du raderat dina inlägg
Voila!

Medlem sedan feb. 20034 441 inlägg
#16

Just jävlar... Nu fattarjag precis, det edna som fattas nu är hur det blir i flash, men det löser sig alltid, i värsta fall får jag göra en admindel i html, det blir nog så, temporärt iaf.

Kolla gärna in den färdig boken på https://www.MickeA.com/flashbook

Hej svejs o tacl så himlans mkt.

Medlem sedan feb. 20034 441 inlägg
#17

Jag antar förresten att "K_Id" är Id för inläggen, alltså en räknare, har redan en, som db'n sorteras efter, som heter "ID".

Kör med den istället...

Medlem sedan nov. 20017 144 inlägg
#18

Booom, crach, bulls eye, totaly right man!

R i g h t o n t a r g e t p a l ! :h

Medlem sedan feb. 20034 441 inlägg
#19

NEJ...

Det funkar inte, kolla:

Admin av inlägg

-----------------

Ok, vi tar det från början.
i admin.asp har jag bla. loopen:

strSQL= "SELECT * FROM data ORDER BY ID DESC;"

Set oRecordset = oConnection.Execute(strSQL)

Do While NOT oRecordset.EOF

Response.Write("<table border=0 cellpadding=0 cellspacing=0 style='font-family:verdana; font-size:10pt; color:white;'>")
Response.Write("<tr>")
Response.Write("<td width='450' bgcolor='#0066FF' height='20'>")
Response.Write("<font color='#FFFFFF'><b>" & oRecordset("Namn").Value & "</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" & "<font color='#CC0000' size='2'><i>" & oRecordset("Datum").Value & "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" & oRecordset("Ipnummer").Value & "</i></td></tr>")

Response.Write("<tr>")
Response.Write("<td width='450' bgcolor='#0099FF' align='left' valign='top'>")
Response.Write("<font color='#FFFFFF'>" & oRecordset("Meddelande").Value & "</td></tr>")

Response.Write("<tr>")
Response.Write("<td width='450' bgcolor='#0066FF' height='20'>")
Response.Write("<font color='#FFFFFF'><b>Ta Bort: </b></font>" & "<Input type='checkbox' name='kId' id=" & oRecordset("ID").Value & "></td></tr>")
Response.Write("</table><br>")

	oRecordset.MoveNext

Loop

-----------------

"Radera.asp" ser ut såhär:

<%
Response.Expires = -1000

'___________________________________________________

kId = request("kId")

'___________________________________________________

Dim oConnection
Dim oRecordset
Dim strSQL

'___________________________________________________

Set oConnection = Server.CreateObject("ADODB.Connection")
oConnection.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("g_book.mdb"))

'___________________________________________________

strSQL = "DELETE FROM data WHERE ID in(" & kId  & ");"

Set oRecordset = oConnection.Execute(strSQL)

'___________________________________________________

Set oConnection = NOTHING
Set oRecordset = NOTHING
Set strSQL = NOTHING

   Response.reDirect "admin.asp"

%>

Vad är felet?!

Prova på sidan som jag länkade däruppe och se själva !

Medlem sedan juni 200032 967 inlägg
#20

På dina checkboxar i html-koden har du attributet id. Det skall vara value,

mvh

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