Permalänk

Sortering enligt datum - ASP

Jag vill att mitt forum ska sortera trådarna enligt datum. Det som är senast skrivet i ska stå högst. Jag tänkte att jag lätt bara skulle kunna fixa detta med "ORDER BY strLastpost" men det fungerade itne alls..

SQL = "Select * From tblThreads Where categoryID=" & Request.QueryString("Category") & " ORDER BY strLastpost DESC"

Så skriver jag frågan. Det som händer är att de sorterar sig i den ordningen trådarna skrevs. Och det vill jag ju inte.. hur ska man fixa?

Permalänk
Medlem

Om strLastPost hela tiden ändras till det datum som senaste inlägg gjordes i tråden så borde ovanstående SQL-uttryck fungera

Visa signatur

Peter Löfås <plo@alternativet.nu>
Linköpings Tekniska Högskola (Y-Linjen)

Permalänk
Medlem

Lägg med en date/timestamp när du lagrar inläggen.
Sortera sedan efter den.

Permalänk
Medlem

Re: Sortering enligt datum - ASP

Citat:

Ursprungligen inskrivet av Darkrebel
Jag vill att mitt forum ska sortera trådarna enligt datum. Det som är senast skrivet i ska stå högst. Jag tänkte att jag lätt bara skulle kunna fixa detta med "ORDER BY strLastpost" men det fungerade itne alls..

SQL = "Select * From tblThreads Where categoryID=" & Request.QueryString("Category") & " ORDER BY strLastpost DESC"

Så skriver jag frågan. Det som händer är att de sorterar sig i den ordningen trådarna skrevs. Och det vill jag ju inte.. hur ska man fixa?

SQL = "Select * From tblThreads Where categoryID='" & Request.QueryString("Category") & "' ORDER BY date DESC"
så får du lägga till ett fält i tabellen som heter date eller liknande, då när någon ska skriva ett inlägg så kör du:
rs("date") = Now() eller någon av datum- eller tidsfunktionerna

edit: oops, trodde Category va en sträng

Permalänk

asså.. jag har gjort strLastpost fältet i databasen till typen "Datum/tid".. sedan körde jag sql frågan jag skrev till att börja med.. men det funkar fortfarande inte.. why?

Permalänk
Medlem

Du måste lagra nått i datumfältet också.

Permalänk
Medlem

Det är inte ngt fel på syntaxen, och det kommer att funka utmärkt om du skapar ett fält som heter "strLastpost" och ser till att spara ner tidpunkten då inläggen skrevs i detta fält. Har du lyckats att göra det så kommer SQLsträngen du använder att fungera finfint.

Permalänk
Medlem

Testa tabort "DESC"...

Visa signatur

En del lever sitt liv, högt upp på en piedestal
En del lever sitt, bara för å rasa av

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Pixies
Testa tabort "DESC"...

Då kommer ju inläggen absolut komma i fel ordning, då kommer ju den tråd som sist ändrades att hamna överst.. kanske inte önskvärt.

Visa signatur

Peter Löfås <plo@alternativet.nu>
Linköpings Tekniska Högskola (Y-Linjen)

Permalänk
Medlem

annars kan du ju använda ORDER BY ID DESC (förutsätter att ID fältet heter ID)

då kommer den ju ordna upp sig rätt, även om det inte är efter datum..

Permalänk
Medlem

petlof; Oj... Läste inte hans problem riktigt

Visa signatur

En del lever sitt liv, högt upp på en piedestal
En del lever sitt, bara för å rasa av

Permalänk

petrius.. ordnar jag efter ID kommer den senast gjorda tråden vara överst hela tiden.. även om en gammal skrivs i.. det vill jag inte.. man vill ju att trådarna ska rulla runt tills de mest inaktiva tillslut faller bort..

Permalänk
Medlem

Men "Order By datum DESC" borde ju fungera... Så har alltid jag skrivit!

Visa signatur

En del lever sitt liv, högt upp på en piedestal
En del lever sitt, bara för å rasa av

Permalänk

jo.. men av någon konstig anledning så verkar den inte vilja sortera oavsett vilken kollumn man använder sig av eller hur man skriver.. skit skummt!

Permalänk
Medlem

Ligger den på din server på dator? Eller ett webbhotell?

Visa signatur

En del lever sitt liv, högt upp på en piedestal
En del lever sitt, bara för å rasa av