Avatar billede stefware Nybegynder
28. august 2002 - 17:14 Der er 8 kommentarer og
1 løsning

Slette nyhed i db (novice)

Hej

Jeg har fundet et lille asp script, som jeg har rettet til med et nyhedsmodul. Det virker fint med at lave nyheder. Nu vil jeg gerne have et script som laver en liste over nyheder med muligheden for at slette dem igen.
Db'en hedder nyheder.mdb

Mvh

Stef
Ps: Novice, så de må meget gerne blive skåret ud i tykt pap ;-)))
Avatar billede gigaload Nybegynder
28. august 2002 - 18:51 #1
hvad hedder din table i dattabasen, og kolonerne???
Avatar billede stefware Nybegynder
28. august 2002 - 19:09 #2
table'en hedder: nyheder
Kolonner: ID, Dato, Nyhed, Forfatter

/S
Avatar billede phineas_phreak Nybegynder
28. august 2002 - 23:07 #3
// På den side hvor du ønske knappen slet skriver du:

<a href="sletnews.asp?id=<%=ID%>">Slet</a>


//så opretter du en ny side der f.eks. hedder sletnews.asp hvori der står:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("nyheder.mdb")

SQLstmt = "DELETE * FROM nyheder WHERE ID=" & TRIM(Request.QueryString("id"))

Conn.Execute (SQLstmt)

conn.Close
Set conn = nothing
Set SQLstmt = nothing

response.redirect ("nyhedsside.asp")
%>
Avatar billede phineas_phreak Nybegynder
28. august 2002 - 23:10 #4
fortsat:

// glemte selvfølgelig lige posterne. poster med slet knappen udskrives sådan:


<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("nyheder.mdb")

SQLstmt = "SELECT * FROM nyheder ORDER BY ID desc;"
Conn.Execute (SQLstmt)
Set rs = conn.Execute(SQLstmt)
%>

// herefter udskriver vi posterne:

<%
  DO WHILE NOT rs.EOF
    indlaeg = rs("indlaeg")
    id = rs("id")
    %>

<a href="sletnews.asp?id=<%=id%>">Slet</a>--<a href="retnyhed.asp?id=<%=id%>">Ret</a><br><br>

<%
    rs.MoveNext
  LOOP
  RS.Close
  Response.Write "</TABLE>"

conn.Close
Set conn = nothing
Set SQLstmt = nothing
  %>
Avatar billede stefware Nybegynder
28. august 2002 - 23:31 #5
Underligt, når jeg laver siden på min maskine (DW & FP) ser siden fin ud, Men når jeg uploader den og går ind på den får jeg følgende melding!

The page cannot be displayed
There is a problem with the page you are trying to reach and it cannot be displayed.

siden ligger i roden sammen med DB'en så det burde ikke være det?

Kan det have noget at gøre med:

    indlaeg = rs("indlaeg")
    id = rs("id")
    %>
Avatar billede stefware Nybegynder
28. august 2002 - 23:36 #6
Lets start from the top:
jeg har lavet en side der hedder slet.asp her ligger
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("nyheder.mdb")

SQLstmt = "SELECT * FROM nyheder ORDER BY ID desc;"
Conn.Execute (SQLstmt)
Set rs = conn.Execute(SQLstmt)
%>

// herefter udskriver vi posterne:

<%
  DO WHILE NOT rs.EOF
    indlaeg = rs("indlaeg")
    id = rs("id")
    %>

<a href="sletnews.asp?id=<%=id%>">Slet</a>--<a href="retnyhed.asp?id=<%=id%>">Ret</a><br><br>

<%
    rs.MoveNext
  LOOP
  RS.Close
  Response.Write "</TABLE>"

conn.Close
Set conn = nothing
Set SQLstmt = nothing
  %>

Så kommer sletnews.asp med

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("nyheder.mdb")

SQLstmt = "DELETE * FROM nyheder WHERE ID=" & TRIM(Request.QueryString("id"))

Conn.Execute (SQLstmt)

conn.Close
Set conn = nothing
Set SQLstmt = nothing

response.redirect ("nyhedsside.asp")
%>

Er det rigtigt, fuck jeg hader når jeg ikke fatter det, måske skulle man købe en bog om det!!!
Avatar billede stefware Nybegynder
28. august 2002 - 23:38 #7
Sletnews.asp virker fint hvis jeg manuelt indtaster id nr!
Avatar billede stefware Nybegynder
29. august 2002 - 00:21 #8
Hej

Jeg fik det til at virke med nedenstående script Phineas får point for den fine indsats

<%    Set    Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("nyheder.mdb")
    SQL = "SELECT * FROM nyheder"
    Set RS = Conn.Execute(SQL)


    if RS.eof then
    response.write "Databasen er tom"
    end if

Do While Not RS.EOF
%>
<body bgcolor="#00FF66">
<a href="slet2.asp?funktion=slet&id=<%=RS("ID")%>">Slet link</a> - <a href="<%=RS("Dato")%>">&nbsp;&nbsp;
Dato:&nbsp;&nbsp;&nbsp;<%=RS("Dato")%><br>
Nyhed:&nbsp;&nbsp;&nbsp;<%=RS("Nyhed")%><br>
Forfatter:&nbsp;&nbsp;&nbsp;<%=RS("Forfatter")%></a><br><br><br>

<%
RS.MoveNext
Loop

RS.Close
Set RS = Nothing
Conn.Close
Set Conn = Nothing %>











<%
If request("funktion") = "slet" then

    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("nyheder.mdb")
    SQL = "Delete from nyheder WHERE id=" & Request.QueryString("id")

    Conn.Execute (SQL)
   
    Conn.Close
    set Conn = nothing
   
    response.write "<br><br><b>Indlæget er slettet.</b>"
    Response.Expires = 0   
End If
%>
Avatar billede phineas_phreak Nybegynder
29. august 2002 - 14:53 #9
ja der er jo hård kamp om pointene, så jeg beklager meget at jeg skrev forkert :D

takker for point
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester