Avatar billede gatez Nybegynder
10. august 2001 - 21:09 Der er 15 kommentarer og
1 løsning

Nyhedssystem

Hejsa,

Jeg har et nyhedssystem som viser alle nyheder fra en database.
Den viser nyheder sådan:


<% Do While Not news.eof %><font face=\"Verdana\" size=\"2\">
       
        <a href=\"http://www.yepss.dk/yepssnews.asp\"><% Response.Write news(\"Forfatter\") %></a>
        <% Response.Write \"</i><br>\" %>
        <% Response.Write (showdate(news(\"created\"))) %>
        <%
        Response.Write \"<hr>\"
        news.Movenext
        Loop
        %>

---------------------------------------------
Altså det bruger \"Movenext\" men kan man ikke lave noget smart så den bare viser de 10 sidste nyheder ?
Jeg har prøver med \"Movelast\" men det virker ikke rigtigt for så viser den den sidste samt en fejl kode.

Hjælp :-)
Avatar billede prof2 Nybegynder
10. august 2001 - 21:10 #1
Så skal din SQL sætning se sådan ud:

sql = \"select * from nyheder order by id desc\"
Avatar billede gatez Nybegynder
10. august 2001 - 21:11 #2
Kan du ikke ændre det i min kode ?
Avatar billede prof2 Nybegynder
10. august 2001 - 21:11 #3
order by id sortere efter feltet ID, og desc tager der første nummer først.

Så:

sql = \"select top 10 from nyheder order by id desc\"

vil altså tage de sidste 10 ud af databasen.
Avatar billede prof2 Nybegynder
10. august 2001 - 21:11 #4
Jo. Så skriv det hele!
Avatar billede prof2 Nybegynder
10. august 2001 - 21:12 #5
Altså skriv hele koden til den side... Så skrive jeg den om, og så skal du bare kopiere den til tilbage...
Avatar billede gatez Nybegynder
10. august 2001 - 21:12 #6
Sådan:

<%
OpenConn(\"nyheder/yepss-forside/news.mdb\")
If request(\"mode\") = \"delete\" then
    SQL = \"delete from news where news_id = \" & request(\"news_id\")
        If session(\"Admin\") = \"OK\" then
        Conn.Execute(SQL)
        End If
End If

sql = \"select * from news order by id desc\"
Set news = Conn.Execute ( SQL )
%>

???
Avatar billede prof2 Nybegynder
10. august 2001 - 21:13 #7
<%
OpenConn(\"nyheder/yepss-forside/news.mdb\")
If request(\"mode\") = \"delete\" then
    SQL = \"delete from news where news_id = \" & request(\"news_id\")
        If session(\"Admin\") = \"OK\" then
        Conn.Execute(SQL)
        End If
End If

sql = \"select top 10 * from news order by id desc\"
Set news = Conn.Execute ( SQL )
%>
Avatar billede gatez Nybegynder
10. august 2001 - 21:13 #8
Den virker:
SQL = \"select * from news order by created desc\"

Den virker ikke:
sql = \"select * from news order by id desc\"
Avatar billede prof2 Nybegynder
10. august 2001 - 21:14 #9
Hvad hedder det felt som er autonummer i din database???
Avatar billede gatez Nybegynder
10. august 2001 - 21:15 #10
Den siger fejl:

Microsoft OLE DB Provider for ODBC Drivers error \'80040e10\'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/Default.asp, line 29
--------------------------------

Line 29:  Set news = Conn.Execute ( SQL )
Avatar billede prof2 Nybegynder
10. august 2001 - 21:15 #11
Du kan også bruge dette så:

<%
OpenConn(\"nyheder/yepss-forside/news.mdb\")
If request(\"mode\") = \"delete\" then
    SQL = \"delete from news where news_id = \" & request(\"news_id\")
        If session(\"Admin\") = \"OK\" then
        Conn.Execute(SQL)
        End If
End If

sql = \"select top 10 * from news order by created desc\"
Set news = Conn.Execute ( SQL )
%>
Avatar billede gatez Nybegynder
10. august 2001 - 21:15 #12
News_id
Avatar billede prof2 Nybegynder
10. august 2001 - 21:16 #13
Ok. Glem alt andet og skriv dette i stedet for det gamle og prøv igen:

<%
OpenConn(\"nyheder/yepss-forside/news.mdb\")
If request(\"mode\") = \"delete\" then
    SQL = \"delete from news where news_id = \" & request(\"news_id\")
        If session(\"Admin\") = \"OK\" then
        Conn.Execute(SQL)
        End If
End If

sql = \"select top 10 * from news order by news_id desc\"
Set news = Conn.Execute ( SQL )
%>
Avatar billede prof2 Nybegynder
10. august 2001 - 21:17 #14
Virker det ikke så ?? Det kode som du skrev øverst i dette spørgsmål, skal du ikke rette i !
Avatar billede gatez Nybegynder
10. august 2001 - 21:18 #15
Virker nu :-)
Avatar billede prof2 Nybegynder
10. august 2001 - 21:19 #16
Ok! Fint!
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