Avatar billede maínframe.subnet Nybegynder
16. november 2000 - 22:54 Der er 13 kommentarer og
5 løsninger

hmm.. bestemt antal og næste side og oversigt

Hej alle eksperter

jeg har en formular hvor jeg kan skrive en nyhed og forfatter, så sender den det i en database og så har jeg en side hvor det bliver vist på! men mit problem er følgende:

Jo flere gange jeg skriver nogle nyheder i min databse jo flere nyheder bliver der også vist på min side der vise indholdet af databasen!
jeg ville gerne have sådan at siden der viser nyhederne max må vise de 2 nyeste nyheder fra databasen? (det skal siges at scriptet allerede sortere efter dato) - mit andet probs. under de to nyeheder må der gerne blive vist et \"næste\" link hvor de to næst nyeste nyehder så bliver vist? - det trejde probs. kan man lave en side der har en total oversigt over alle nyehderne i databsen, så man kan derfra klikke sig ind på den ønskede nyhed?

SIDEN HVOR NYHEDERNE VISES
---------------------------------------------
<%

Response.Buffer = True

\' Connection til database
Set Con = Server.CreateObject(\"ADODB.Connection\")
DBPath = \"DBQ=\" & server.mappath(\"nyheder.mdb\")
Con.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; \" & DBPath

\' Her hiver vi indholdet af databasen ud, sorterer dem efter dato
    Sql = \"SELECT * FROM nyheder ORDER BY Dato DESC\"
    Set Record =  Con.Execute(Sql)

%>

<% Do While Not Record.EOF %>
        <td bgcolor=\"white\"><font face=\"Verdana\" size=\"2\"><% Response.Write Record(\"Dato\")%></td>
        <td bgcolor=\"white\" align=\"right\"><font face=\"Verdana\" size=\"2\"><b>Indsendt af:</b> <% Response.Write Record(\"Forfatter\")%></td>

SIDEN DER SENDER NYHEDERNE
---------------------------------------------
<%
\' --------------------------------------------------
\' Nyhedssting
\' Udviklet af Andreas Mailand - andreas@mailand.dk
\' All rights reserved
\' --------------------------------------------------
Response.Buffer = True

\' Funktion der fikser quotes...
FUNCTION fixQuotes( theString )
    fixQuotes = Replace( theString, \"\'\", \"\'\'\" )
END FUNCTION

\' Hent data fra formular   
    Nyhed = Request( \"Nyhed\" )
    Forfatter = Request( \"Forfatter\" )

\' Connection til database.    
Set Con = Server.CreateObject( \"ADODB.Connection\" )
    DBPath = \"DBQ=\" & server.mappath(\"nyheder.mdb\")
    Con.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; \" & DBPath

\' ... Ogsaa saetter vi vores data fra formularen ind i databasen
IF Request.Servervariables(\"Content_Length\") > 0 THEN
    Sql = \"INSERT INTO nyheder (Dato, Nyhed, Forfatter) VALUES(\'\" & Date() & \"\',\'\" & fixQuotes( Nyhed ) & \"\',\'\" & fixQuotes( Forfatter ) & \"\')\"
    Con.Execute Sql

\' Og her skriver vi lige en lille besked om at nu er nyheden tilfoejet   
    Response.Write \"<strong>Tak for din nyhed. Den er blevet tilf&oslash;jet til databasen. </strong>\"
   
END IF

%>


<form action=\"nyhed.asp\" method=\"POST\" target=\"_self\">
<table border=\"0\" width=\"600\">
    <tr>
        <td valign=\"top\" width=\"150\">Nyhed</td>
        <td><textarea cols=\"30\" rows=\"8\" name=\"Nyhed\"></textarea></td>
    </tr>
    <tr>
        <td>Forfatter</td>
        <td><input type=\"text\" name=\"Forfatter\"></td>
    </tr>
    <tr>
        <td colspan=\"2\" align=\"center\"><input type=\"submit\" value=\" - SKRIV - \"></td>




HJÆLP MIG

Avatar billede keysersoze Ekspert
16. november 2000 - 23:02 #1
det skal laves med noget der hedder paging - et eksempel på dette findes her:

http://www.activeserverpages.dk/aspdigital/kapitel2/paging.asp
Avatar billede blazer Nybegynder
16. november 2000 - 23:08 #2
Response.Buffer = True

Min=Request(\"Min\")
Max=Request(\"Max\")
If Min=\"\" and Max=\"\" Then
Min=1
Max=10
End if

Response.Write \"<A HREF=\"Fil.Asp?Min=\" & Min+10 & \"&Max=\" & Max+10 &\">Næste 10 resultater</a>\"
Response.Write \"<A HREF=\"Fil.Asp?Min=\" & Min-10 & \"&Max=\" & Max-10 &\">Forrige 10 resultater</a>\"

\' Connection til database
Set Con = Server.CreateObject(\"ADODB.Connection\")
DBPath = \"DBQ=\" & server.mappath(\"nyheder.mdb\")
Con.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; \" & DBPath

\' Her hiver vi indholdet af databasen ud, sorterer dem efter dato
    Sql = \"SELECT * FROM nyheder ORDER BY Dato DESC\"
    Set Record =  Con.Execute(Sql)

%>

<% Do While Not Record.EOF %>
X=X+1
If x< Min or x>Max then Goto LetsLoop
        <td bgcolor=\"white\"><font face=\"Verdana\" size=\"2\"><% Response.Write Record(\"Dato\")%></td>
        <td bgcolor=\"white\" align=\"right\"><font face=\"Verdana\" size=\"2\"><b>Indsendt af:</b> <% Response.Write Record(\"Forfatter\")%></td>
LetsLoop:
<% LOOP %>

Prøv det...har ikke tstet...og det kræver lidt tilpasning...men håber da et det hjælper dig :)
Avatar billede blazer Nybegynder
16. november 2000 - 23:15 #3
Keyser og jeg er blevet enige om at hvis dette løser dir problem ville det være mest fair at dele pointsne 50/50
Avatar billede maínframe.subnet Nybegynder
16. november 2000 - 23:17 #4
jamen jeg er ikke ligefrem en haj til ASP, derfor håber jeg på et svar, der virker 100% som jeg ønsker, det er trodsalt nogle ponits!
Avatar billede sp Nybegynder
16. november 2000 - 23:18 #5
Prøv med LIMIT.


Sql = \"select * from table LIMIT 2; ORDER BY Dato DESC\"    # Retrieve first 5 rows
    Set Record =  Con.Execute(Sql)
Avatar billede sp Nybegynder
16. november 2000 - 23:19 #6
Avatar billede blazer Nybegynder
16. november 2000 - 23:21 #7
mainframe>>>Virkede mit ikke?
Avatar billede maínframe.subnet Nybegynder
16. november 2000 - 23:27 #8
blazer~~ ved det ikke, hvilket stykke tekst, er til hvilket dok! og skal det gamle så bare slettes og dit ind over!
Avatar billede sp Nybegynder
16. november 2000 - 23:35 #9
Du kan også se på paging af recordset.
http://www.activeserverpages.dk/aspdigital/kapitel2/paging.asp
Avatar billede maínframe.subnet Nybegynder
16. november 2000 - 23:36 #10
Der opstod en Microsoft VBScript-kompileringsfejl fejl \'800a0401\'

Slut på sætning var ventet

/nyhedsmodul/visnyheder.asp, linje 11

Response.Write \"<A HREF=\"Fil.Asp?Min=\" & Min+10 & \"&Max=\" & Max+10 &\">Næste 10 resultater</a>\"
-------------------------^
Avatar billede blazer Nybegynder
16. november 2000 - 23:37 #11
sover...erstat det med

Response.Write \"<A HREF=\'Fil.Asp\'?Min=\" & Min+10 & \"&Max=\" & Max+10 &\">Næste 10 resultater</a>\"


Avatar billede keysersoze Ekspert
16. november 2000 - 23:42 #12
sp >> hvad er meningen med at bringe det samme link som jeg næsten lige har gjort?
Avatar billede stigc Nybegynder
16. november 2000 - 23:43 #13
Response.Buffer = True
visArtikel = request(\"nummer\")

\' Connection til database
Set Con = Server.CreateObject(\"ADODB.Connection\")
DBPath = \"DBQ=\" & server.mappath(\"nyheder.mdb\")
Con.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; \" & DBPath



\' Her hiver vi indholdet af databasen ud, sorterer dem efter dato

   
    Sql = \"SELECT COUNT(nyheder) FROM nyheder ORDER BY Dato DESC\"
    set rs=conn.execute(sql)
    is rs.EOF then response.end
    antalArtikler = rs(0)


    Sql = \"SELECT * FROM nyheder ORDER BY Dato DESC\"
    Set Record =  Con.Execute(Sql)

%>

artikelNummer = 0

<% Do While Not Record.EOF 

if (artikelNummer >= visArtikel AND  artikelNummer < visArtikel+2)

then
%>
        <td bgcolor=\"white\"><font face=\"Verdana\" size=\"2\"><% Response.Write Record(\"Dato\")%></td>
        <td bgcolor=\"white\" align=\"right\"><font face=\"Verdana\" size=\"2\"><b>Indsendt af:</b> <% Response.Write Record(\"Forfatter\")%></td>

<%

artikelNummer =artikelNummer +1

end if

LOOP

if (visArtikel +2<antalArtikler) then

response.write(\"<a href=\"visnyhed.asp?nummer=\" & visArtikel +2 & \">næste 2 artikler</a>\")

end if


%>
Avatar billede stigc Nybegynder
16. november 2000 - 23:44 #14
Det er vis nyheder med 2 nyheder af gangen! Det er desværre ikke testet!
Avatar billede sp Nybegynder
16. november 2000 - 23:47 #15
keysersoze  >>Det så jeg ikke...
Avatar billede hypergrafx Nybegynder
17. november 2000 - 03:03 #16
Jeg har for et stykke tiden programmeret et mini nyheds-forum. Ikke med alle de funktioner du søger. Men du kan ihvertfald få løst dit trejde probs. med en side der har en total oversigt over alle nyhederne i datbasen, så man kan derfra klikke sig ind på den ønskede nyhed.

Det er vist lettest hvis jeg ligger det op på min server, og så kan du downloade herfra: http://www.hypergrafx.dk/nyhed.zip

Kig på det og byg selv videre.......

God fornøjelse ;-)
Avatar billede keysersoze Ekspert
17. november 2000 - 08:18 #17
hyper >> troede ikke du gav noget værk gratis!!! ;o)
Avatar billede hypergrafx Nybegynder
17. november 2000 - 13:32 #18
Keysersoze >> Det kommer an på spørgsmålet.
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