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
25 svar · 686 visningar · startad av MickeA.com
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 !!!
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
Posterna måste först hämtas om du skall kunna göra ett urval.
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...
BEGIN Loop genom checkboxarna
Kolla om checkboxen är 1 (true)
Ta isf bort raden det gäller
END Loop
(ska äta nu så det han inte bli mer än då här ;) )
:)
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.
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"
Och där kom det! ;)
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å:
??
Vore überbussigt ; ))
Aspfilen har du ju i princip redan, databasen likaså, bara namnen som borde behöva ändras.
Vad är det som är oklart?
Just DET är oklart, namnen osv. fattar inte vissaa grejjer, som xboxar = split o hit o dit...
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")&"> "&recset("namnpåöverskriftskolumnen") &"<br>"
Loop
r
<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.)
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!
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.
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...
NEJ...
Det funkar inte, kolla:
-----------------
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> " & "<font color='#CC0000' size='2'><i>" & oRecordset("Datum").Value & " " & 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 !