ORDER BY dagbog.dato ASC
sorterar i stigande ordning (från gammal till ny)
ORDER BY dagbog.dato DESC
sorterar i fallande ordning (från ny till gammal)
Ändra alltså ASC till DESC så ska det sorteras som du vill ha det.
16 svar · 931 visningar · startad av jimbo
Hej på er!
Har fått hjälp med denna sql satsen innan, den bygger på att visa de senaste 20 skribenterna i dagboksscriptet som jag har. Men det stämmer inte, om ni kollar här:
http://www.fiskeportalen.com/db/fiskedagbok/default.asp så ser man om man klickar in på den översta skribenten som är reggad att han har gjort ett inlägg, då borde ju han ligga överst också under "de senaste skribenterna till höger, men han hamnar i nederkanten.
Det är något konstigt här:
<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "DBQ=" & Server.Mappath("dagbog.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
Set objrs = Server.CreateObject("ADODB.RecordSet")
strQ = "SELECT TOP 20 dagbog.bruger_id, users.user_name, users.user_id, dagbog.overskrift, dagbog.dato FROM dagbog INNER JOIN users ON users.user_id = dagbog.bruger_id Order By dagbog.dato ASC"
objrs.Open strQ, objConn, 1, 3
Do while not objrs.EOF or objrs.BOF
response.write("<A HREF='dagbog.asp?ejer=" & objRS("bruger_id") & "'>"& objRS("user_name") & "-" &"</A> " &objrs("overskrift") & "<br>")
objrs.movenext
loop
objrs.Close
Set objrs = Nothing
objConn.Close
Set objConn = Nothing
%>
Varför hamnar inte de senaste som skrivit överst i listan?
Tack på förhand - Mvh Jimmy
ORDER BY dagbog.dato ASC
sorterar i stigande ordning (från gammal till ny)
ORDER BY dagbog.dato DESC
sorterar i fallande ordning (från ny till gammal)
Ändra alltså ASC till DESC så ska det sorteras som du vill ha det.
Edit: pratar jag i nattmössan?
Edit 2: ja, jag gör nog det, men jag passar ändå på att påminna om SQL-forumet.
Flyttas från ASP
Har lagt in den som DESC istället men den sorterar ju konstigt iallafall kika själv:
http://www.fiskeportalen.com/db/fiskedagbok/default.asp
Han "Nicolas lopez" är den sista som skrivit men han finns ju inte med ens i de senaste skribenterna?
Det är därför du skall spara datum i datumformat och inget annat...
jimbo skrev:
Han "Nicolas lopez" är den sista som skrivit men han finns ju inte med ens i de senaste skribenterna?
ehh, jag tycker det ser ut som han är högst upp.
Travoni skrev:
ehh, jag tycker det ser ut som han är högst upp.
ja men inte i den, den andra listan till höger på "senaste skribenter"!
Är ni med?
Du har inte möjlighet att dela med dig av databasen?
Har skickat dig ett PM =)
Nu har jag tittat på din databas, och kan bara hålla med Travoni när han skriver:
Det är därför du skall spara datum i datumformat och inget annat...
I ditt datumfält i textformat ligger det nu flera olika datumformat sparade. Exempel på sparade datum:
2005-06-13 11:09:29
9/25/2005 8:26:29 PM
Det är inte konstigt att det blir konstigt när du sorterar på det fältet...
En enkel lösning på problemet kan vara att sortera på Id-fältet istället för datum.
Men, generellt finns tre saker att säga:
Mvh
Hej Anders
Tack för din koll
Ja klart då blir det ju knas ju, har ändrat de datumen så alla är lika och då stämmer det ju givetvis. Såg också att fältet är satt som text i databasen, borde de inte bli bra om man sätter det som datum/tid istället?
Ja, det borde bli "bra" om du gör det.
Möjligen måste du ändra alla SQL-frågor där fältet anges, till att använda # istället för ' som literaler i SQL-frågor...
Edit: det kan bli en hel del SQL-frågor att ändra på när jag tänker efter. Det verkar vara någon sorts gratisscript du använder, förresten?
Ja jo det är sant det är någon dansk som har gjort de tror jag.
Ska testa men det blir nog som du säger misstänker jag.
Gott Nytt År by the way =)