Visa senaste nyhet först

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Hulth
    Medlem
    • 2001-06-21
    • 274

    #1

    Visa senaste nyhet först

    Hej.

    HIt brukar jag vända mig när jag stöter på problem så nu var det dags igen.

    Efter att ha utvecklat ett perfekt nyhets-script i asp så har jag nu gjort en sida som visar alla nyheter och en enskild nyhet. Nu vill jag att den ska visa den senaste nyheten först och det gör den inte. den visar den senaste sist. Hur gör jag?


    [kod]
    <!-- #include file = "adovbs.inc" -->
    <html>
    <head>
    <title>Läs gamla nyheter</title>
    </head>
    <body bgcolor="#FFFFFF" text="#000000">
    <%
    If Request.Querystring("visa") = "" Then

    Set Connect = Server.CreateObject("ADODB.Connection")
    Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("nyheter.mdb")&";"

    Set RecSet = Server.CreateObject("ADODB.Recordset")

    Addera = "SELECT * FROM nyheter "
    RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

    Do Until RecSet.EOF

    %>
    <table width="370" border="0" cellspacing="2" cellpadding="0" height="100">
    <tr>
    <td>
    <font size="1" face="Verdana">
    <b>
    <%=RecSet("rubrik")%>
    -
    <font color="#993300">
    <%=FormatDateTime(RecSet("datum"),vbLongdate)%> av <%=RecSet("person")%>
    </font>
    </b>
    </font>
    </td>
    </tr>
    <tr>
    <td>
    <font size="1" face="Verdana">
    <%=Replace(RecSet("text"),vbCrLf,"<br>")%>
    </font>
    </td>
    </tr>
    </table>
    <br>
    <hr size="1" noshade>
    <br>
    <%
    RecSet.MoveNext
    Loop

    RecSet.Close
    Connect.Close

    Set RecSet = nothing
    Set Connect = nothing

    End If

    If Request.Querystring("visa") = "sep" Then

    Set Connect = Server.CreateObject("ADODB.Connection")
    Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("nyheter.mdb")&";"

    Set RecSet = Server.CreateObject("ADODB.Recordset")

    Addera = "SELECT * FROM nyheter WHERE ID = " &Request.QueryString("id")
    RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

    %>
    <table width="370" border="0" cellspacing="2" cellpadding="0" height="100">
    <tr>
    <td>
    <font size="1" face="Verdana">
    <b>
    <%=RecSet("rubrik")%>
    -
    <font color="#993300">
    <%=FormatDateTime(RecSet("datum"),vbLongdate)%> av <%=RecSet("person")%>
    </font>
    </b>
    </font>
    </td>
    </tr>
    <tr>
    <td>
    <font size="1" face="Verdana">
    <%=Replace(RecSet("text"),vbCrLf,"<br>")%>
    </font>
    </td>
    </tr>
    </table>
    <font face="verdana" size="1">
    <a href="nyheter.asp"><-- Tillbaka</a>
    </font>
    <%

    RecSet.Close
    Connect.Close

    Set RecSet = nothing
    Set Connect = nothing

    End If
    %>
    </body>
    </html>
    [/kod]

    ------------------
    //Hulth
    Man misslyckas aldrig förrän man slutar försöka...
  • Pace
    Medlem
    • 2001-06-25
    • 5947

    #2
    SELECT * FROM nyheter ORDER BY id DESC.
    Förutsatt att du har ett fält som heter id.

    ------------------
    "Tål det inte att skämtas om, är det inte värt att ta på allvar."
    Take your god and shove him

    Comment

    • jorgen
      Avregistrerad
      • 2001-02-03
      • 2179

      #3
      Hej!

      [kod]
      SELECT * FROM tabellen ORDER BY Id DESC
      [/kod]

      mvh Jörgen

      ------------------
      Varför bråka när man kan kramas?

      Comment

      • LarsG
        Medlem
        Årets medlem 2001
        • 2000-12-03
        • 12465

        #4
        Det beror på hur din tabell är definierad, men du har säkert någon kolumn som anger när en nyhet är inlagd.

        I så fall är det bara att använda denna select-sats, med ditt kolumnnamn, istället.

        [kod]
        Addera = "SELECT * FROM nyheter order by datumkolumn desc"
        [/kod]


        ------------------
        essentitia preter non sans multiplicandum
        essentitia preter non sans multiplicandum

        Comment

        • @nders
          Moderator
          Marsvin
          • 2000-06-30
          • 26914

          #5
          Hej!

          Du får slänga in en sortering, order by, i din sql-fråga. Desc anger du för att sorteringen ska bli fallande.

          [kod]Addera = "SELECT * FROM nyheter ORDER BY ID DESC"[/kod]

          Mvh,

          ------------------
          All your base are belong to me.
          @aviddevguy

          Comment

          • Cy-4
            Medlem
            • 2001-05-11
            • 80

            #6
            Hallå!

            Jag tror att det ska gå att lösa genom att lägga till " ORDER BY Datum DESC" på slutet av din sql-sträng.

            Datum är namnet på den kolumnen som du har datumen på nyheterna lagrade i.

            Comment

            Working...