SoulGodMedlem sedan aug. 20051 200 inlägg Jag undrar hur jag får fram den senaste inlägget i databasen, i en viss tabell.
Jag vågar inte sortera efter ID, eftersom det kan ändras i den ordningen.
Jag har ett fält som heter datum, som automatiskt läggs in när man sparar infon.
Kan man sortera efter det datum som är "närmast" dagens datum?
Just nu kör jag följande
$query = "SELECT * FROM poll_fragor";
Emil WMedlem sedan mars 2009512 inlägg Den här koden gör att den sorterar efter datum de nyaste inläggen eller vad det är för något du ska ha först
$query = "SELECT * FROM poll_fragor ORDER BY datum DESC";
Emil W's kod fungerar om du bara vill ha de nyaste raderna. (Lägg till LIMIT efter smak och behov.)
Om det kan hända att omröstningar har datum i framtiden så kan du göra så här:
SELECT * FROM poll_fragor
ORDER BY ABS(TIMEDIFF(NOW(), datum)) ASC
LIMIT 10
Då sorteras raderna efter hur stor skillnaden mellan det lagrade datumet och "nu" är, tex kan ordningen bli: 5 minuter sen, imorgon, 3 dagar sen, om en vecka.
Sen kan du alltid sortera om resultatet om du behöver det.
SELECT * FROM (
SELECT * FROM poll_fragor
ORDER BY ABS(TIMEDIFF(NOW(), datum)) ASC
LIMIT 10
) s2
ORDER BY datum DESC;