Op datum sorteren met mysql?
Bart Waarom verplicht
03/10/2004 14:56:00Ik wil sorteren op datum met een script, maar dat kan niet want als je hem helemaal wilt sorteren moet je hem in mysel op INT zetten (zover ik weet), maar als ik dat doe slaat hij bij het volgende: 03-10-04 bij mij alleen 2 op, hoe kan ik dit anders doen?
PHP hulp
16/01/2025 12:03:16Alfred -
03/10/2004 14:59:00Door je datum op te slaan als date("U");
dit geeft de datum weer in seconden sinds 01/01/1970, en zo kan je dan ordenen van klein naar groot...
Uitlezen doe je bvb zo:
dit geeft de datum weer in seconden sinds 01/01/1970, en zo kan je dan ordenen van klein naar groot...
Uitlezen doe je bvb zo:
Arend a
03/10/2004 15:18:00Je kan sorteren met mysql door het in unixtime formaat te selecteren.
Ongeveer wat rafel zegt, maar ik raad je wel aan om het gewoon in date of datetime in mysql op te slaan. Hierdoor is het nog mogelijk om gebruik te maken van de vele date functies in mysql.
Het zelfde effect heeft:
select unixtime(datumkolom) from tabel
Dan krijg je een nummer, die je met de functie van rafael in kan voeren als 2e argument voor date().
Ongeveer wat rafel zegt, maar ik raad je wel aan om het gewoon in date of datetime in mysql op te slaan. Hierdoor is het nog mogelijk om gebruik te maken van de vele date functies in mysql.
Het zelfde effect heeft:
select unixtime(datumkolom) from tabel
Dan krijg je een nummer, die je met de functie van rafael in kan voeren als 2e argument voor date().
wat je moet doen als je je huidige datum formaat wilt blijven hanteren is met SUBSTRING werken..
zoiets :)
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?
$sql = "SELECT ";
$sql .= "SUBSTRING(datum, 1, 2) as day, ";
$sql .= "SUBSTRING(datum, 4, 2) as month, ";
$sql .= "SUBSTRING(datum, 7, 2) as year, ";
$sql .= "* ";
$sql .= "FROM tabel_naam ORDER BY ";
$sql .= "year DESC, month DESC, day DESC";
$res = mysql_query($sql) or die(mysql_error());
?>
$sql = "SELECT ";
$sql .= "SUBSTRING(datum, 1, 2) as day, ";
$sql .= "SUBSTRING(datum, 4, 2) as month, ";
$sql .= "SUBSTRING(datum, 7, 2) as year, ";
$sql .= "* ";
$sql .= "FROM tabel_naam ORDER BY ";
$sql .= "year DESC, month DESC, day DESC";
$res = mysql_query($sql) or die(mysql_error());
?>
zoiets :)