hur gör man en admin sida till en gb????
jag vill veta hur jag ska göra för att kunna svara på inlägg och ta bort oönskade inlägg.
nån som vet hur man gör just det..?
23 svar · 543 visningar · startad av jwradhe
hur gör man en admin sida till en gb????
jag vill veta hur jag ska göra för att kunna svara på inlägg och ta bort oönskade inlägg.
nån som vet hur man gör just det..?
ja?
vad är det du behöver veta?
börja göra en sida som har lösenordskydd...
fortsätt med att göra en kopia av gästboken, fast med möjligheten att kunna radera och svara.. dvs två knappar där du hämtar ID:et på på gästboksinlägget..
du kanske får lägga till ett till fält i databasen som heter nånting liknande SvarID..
vet inte exakt vad du är ute efter men men
Skrev ihop ett script åt dig som tar bort inlägg..
Delete.asp
<!-- #include file="adovbs.inc" -->
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("db.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Radera = "SELECT * FROM tblGastbok WHERE ID = " & Request.QueryString("id_nr") & " "
RecSet.Open Radera, Connect, adOpenStatic, adLockOptimistic
RecSet.Delete
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
%>
Posten är nu borttagen...
Admin.asp
<!-- #include file="adovbs.inc" -->
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM tblgastbok ORDER BY Id DESC"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic
%>
<% Do Until RecSet.EOF%>
<b>
<a href="Delete.asp?id_nr=<%=RecSet("Id") %>">
<%=Recset("Rubrik") %>
</a>
<% RecSet.MoveNext
Loop%>
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
Orkar inte förklara så mycket..
Men du får ändra databasens namn, tabellernas namn samt kolumnernas namn till dina namn på allt :D
Har inte orkat testat det ännu emn jag tror det ska fungera..
<%
Select Case = Request("cmd")
Case ""
If Session.Contents("Admin") = Empty Then
Response.Redirect("gb.asp")
SQL=" select titel, innehall, id from gb order by id DESC
set rs = Conn.Execute(SQL)
Dim id, titel, innehall
id = rs("id")
titel = rs("titel")
Response.write "Här är listan på alla inlägg"
While NOT rs.EOF
response.write titel &" ||| "_
"<a href=""admin.asp?cmd=tabort&id=" & id & ">kasta</a> | "_
"<a href=""admin.asp?cmd=svara&id=" & id & ">svara</a>"
rs.movenext
wend
Det kanske hjälper dig att komma igång ?
alj man ska inte öppna ett recordset när man updaterar eller tar bort ur databasen ;)
Huh?!
Har jag alltid gjort , visserligen är jag ganska ny på asp, men berätta vad är det för del med det?!
Edit:
Eller menar du att man bara kan göra en Execute sats?
Jo, det vet jag emn jag envisas med att göra recordset's :P
Lite skillnad blir det (om man bortser från prestandavinsten): ;)
[b]Recordset-variant[/b]
<!-- #include file="adovbs.inc" -->
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("db.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Radera = "SELECT * FROM tblGastbok WHERE ID = " & Request.QueryString("id_nr") & " "
RecSet.Open Radera, Connect, adOpenStatic, adLockOptimistic
RecSet.Delete
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
%>
Posten är nu borttagen...
[b]Utan recordset[/b]
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("db.mdb")
Connect.Execute("DELETE FROM tblGastbok WHERE ID = " & Request.QueryString("id_nr")),,128
Connect.Close
Set Connect = nothing
%>
Posten är nu borttagen...
Jaha då har jag lärt mig något nytt idag då.
Tack alla :)
Men frågan är hur mycket han som skrev inlägget har lärt sig, igenom att skriva hela lösningen kommer han bara komma och fråga nästa gång också... Tycker man iaf får försöka själv, och sen kan man komma hit och fråga om kodspecifika fel eller lösningar, men inte få dom upp och ner.
/Ni kanske inte skrev hela lösningen men ändå =)
Pace skrev:
[b]Utan recordset[/b] <% Set Connect = Server.CreateObject("ADODB.Connection") Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("db.mdb") Connect.Execute("DELETE FROM tblGastbok WHERE ID = " & Request.QueryString("id_nr")),,128 Connect.Close Set Connect = nothing %> Posten är nu borttagen...
Häftigt.. ska testa detta också.. yey lärt mej något nytt idag :)
Pace:s andra kod-exempel är väl att föredra i alla lägen när det gäller borttagning av data? Både prestanda- och kodmässigt.
det fungera väll med update också?
Ja, det fungerar med update också. :)
Blir sidan fortare?
Connect.Execute("DELETE FROM tblGastbok WHERE ID = " & Request.QueryString("id_nr")),,128
Om man gör på ovanstående sätt (utdrag ur Pace:s kod), så har iallafall jag den bestämda uppfattningen och erfarenheten av att sidan exekveras snabbare, ja.
Detta med tanke på att execute är mer effektiv än update-metoden samt att ,,128 används, som gör att inget tomt recordset skapas, som det annars gör.
vad betyder ),,128 då?
voigtann1 skrev:
vad betyder ),,128 då?
"Att inget tomt recordset skapas, som det annars gör."
Det ger en prestandavinst eftersom RecordSet:et ändå inte används.
:)
okey.. :) du OveRRidE sidan går inte fortare :( tror jag inte.. har timer.. tror jag får samma tid..
Skillnaden är försumbar vid låg belastning. Att man ser till att den kod man använder är hyfsat optimerad på de flesta ställen kan vara skillnaden mellan liv och död på en välanvänd applikation.
Skriv bra kod, och du skall belönas. ;)