Nieuws sorteren op datum
Ik heb een nieuwssysteem waarmee ik nieuws kan maken. Hij slaat het op in de mysql database als: 2009-07-25
Ik ben al even bezig geweest met zoeken naar een script maar het wil allemaal niet echt lukken. Ik kan alleen dingen vinden met net geleden gepost of vorige maand.
Maar ik wil het op de volgende manieren sorteren:
vandaag
--------------------------------
Nieuws hiero
Gisteren
-------------------------------
nieuws
vorige week
------------------------------
nieuws
Deze maand
-----------------------------
nieuws
Maar hoe doe ik dat? Dat hij het zo sorteert?
Groetjes Bart!
Zie ORDER BY
ORDER BY
Ok ik zal eens kijken of ik me erin kan verdiepen
Lees eens over mktime.
tada
werkt een stuk makkelijker(mits je data niet voor 1970 ligt)
Als ik het me goed herinner is de code het aantal seconden van 01-01-1970.
Gewijzigd op 01/01/1970 01:00:00 door J C
J.S. Coolen schreef op 26.07.2009 21:15:
omvormen tot een cijferreeks ipv een echte datum
Geen goede tip.
Nu ben ik geen ervaren scripter, dus ik zou graag willen weten wat het voordeel van een echte datum is.
Je kan met datums net zo makkelijk sorteren en optellen en aftrekken in een query.
Dus als het net zo makkelijk is is het toch geen slechte tip? Eerder niet noodzakelijk? Of begrijp ik het verkeerd.
Gewoon een DATE of DATETIME gebruiken.
Als het de bedoeling was dat je datum zou omzetten en dan pas in een database gooien, dan zouden de types als DATE of DATETIME toch niet bestaan ?
En het is niet net zo makkelijk, maar moeilijker. Bij jouw methode moet je namelijk nog functies gebruiken om de datum om te zetten, terwijl je anders het er gewoon meteen in hebt staan.
Persoonlijk vind ik het wel makkelijk, maar dat komt denk ik omdat ik nooit anders heb geleerd. Het omzetten vind ik niet zo'n probleem.
Maar voor de topic starter vergeet mijn bericht dan maar.
ook deze:
Code (php)
1
$get_sub_archive = mysql_query("SELECT num, title, date FROM cms_news WHERE TODAY(date) = TODAY(NOW()) ");
Dat vandaag werkt perfect. maar zodra ik er bijvoobeeld MONTH ga neerzetten dan laat hij alles van de afgelopen maand zien. Ik heb een screen gemaakt:
Ik snap er ook niets meer van. Want als hij vandaag geweest is wil ik dat hij verschuift naar gisteren. En dan doorschuift naar deze week snap je?
Weet alleen ff niet hoe je dat in een SQL query krijgt (je hebt dan de huidige datum en bijv. de huidige datum - 7 dagen nodig). Persoonlijk zou ik de datums die je nodig hebt met PHP in een variabele zetten, maar das misschien de wat minder nette aanpak.
Kan iemand mij vertellen wat gewoon de beste manier is als ik het met gisteren, vorige week en maanden wil doen? Dan kan ik me daar in verdiepen en weet ik simpel wat ik kan doen en dan is het ook duidelijk op een rijtje voor mij :D
Groetjes Bart