webForumDet fria alternativet

Fråga ang. sortering i sql?

16 svar · 929 visningar · startad av jimbo

jimboMedlem sedan feb. 2003185 inlägg
#1

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

jawbreakerMedlem sedan jan. 2003296 inlägg
#2
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.

@ndersMedlem sedan juni 200032 969 inlägg
#3

Edit: pratar jag i nattmössan? :o
Edit 2: ja, jag gör nog det, men jag passar ändå på att påminna om SQL-forumet.

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Flyttas från ASP

jimboMedlem sedan feb. 2003185 inlägg
#5

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?

TravoniMedlem sedan okt. 20041 556 inlägg
#6

Det är därför du skall spara datum i datumformat och inget annat... ;)

TravoniMedlem sedan okt. 20041 556 inlägg
#7

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.

jimboMedlem sedan feb. 2003185 inlägg
#8

Travoni skrev:

Det är därför du skall spara datum i datumformat och inget annat... ;)

Ehh jaha?

jimboMedlem sedan feb. 2003185 inlägg
#9

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"!

jimboMedlem sedan feb. 2003185 inlägg
#10

Är ni med?

@ndersMedlem sedan juni 200032 969 inlägg
#11

Du har inte möjlighet att dela med dig av databasen?

jimboMedlem sedan feb. 2003185 inlägg
#12

Har skickat dig ett PM =)

@ndersMedlem sedan juni 200032 969 inlägg
#13

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:

  1. Datum skall alltid sparas i datumfält. Alltid. Annars blir det så här.
  2. Skit in - skit ut.
  3. Gör om, gör rätt. ;)

Mvh

jimboMedlem sedan feb. 2003185 inlägg
#14

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?

@ndersMedlem sedan juni 200032 969 inlägg
#15

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?

jimboMedlem sedan feb. 2003185 inlägg
#16

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 =)

@ndersMedlem sedan juni 200032 969 inlägg
#17

Jävla dansk. :)

Gott nytt år själv! :bire

138 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)