webForumDet fria alternativet

Problem med sortering efter datum

5 svar · 290 visningar · startad av grusell

grusellMedlem sedan dec. 20028 inlägg
#1

$shownews = "SELECT * FROM news ORDER BY Datum desc, NewsID desc LIMIT 18";
$result = mysql_query($shownews,$db_link);
$rows = mysql_num_rows($result);

Problemet är att mina datum är inlagda efter amerikansk modell.
Dagens nyhet visas således med följande daturm "12/19/2002"

sorterar jag som ovan, Datum desc, så får jag inte 1999 att funka som jag vill utan den kommer ju visas högst upp på sidan.

Måste ju tyvärr lösa det här innan årskiftet, för då kommer ju inte mina senaste nyheter (inlagda i januari 2003) att visas på sidan.... eftersom den sorterar månaden 12 är större än månaden 01.

any ideas? som jag ser det så måste jag få den att först sortera på de fyra sista siffrorna (så han avgör vilket år det är) och därefter på de fyra första sifforna. Hur gör jag det? eller tänker jag fel? tack!
tack

WebslaveMedlem sedan maj 2002662 inlägg
#2

Om du soterar efter ID så är ju den rad med högsta id den nyaste posten ;)

grusellMedlem sedan dec. 20028 inlägg
#3

Webslave, glömde tillägga att jag skulle vilja lägga in arkiverade nyheter i databasen, då räcker det ju dessvärre inte med att endast sortera efter ID.

WebslaveMedlem sedan maj 2002662 inlägg
#4

Aha... då var det en annan banan.

startailMedlem sedan sep. 2000159 inlägg
#5

Lägg in Datum i database som "Y.m.d.h.i.s" Så sorterar blir år störst. (ie. 2002.12.24.23.00.00) Sen kan du alltid splitta upp datumet efteråt om du vill ha det på något annat sätt. Men nu har ett datum format du kan sortera med i databasen.

@ndersMedlem sedan juni 200026 914 inlägg
#6

Sorteringen blir korrekt om man har rätt datatyp på fältet. Datumvärden ska lagras i datumfält. Om ditt datumfält är av typen varchar eller annat så borde du alltså ändra det till exempelvis datetime.

mvh,

Genererad på 366 ms · cache AV · v20260730165559-full.f96bc7eb