Sorteren op datum
In mijn database heb ik nieuws staan met datum erbij.
dus:
$query = mysql_query("SELECT * FROM nieuws ORDER BY datum DESC");
Maar in de database staat de datum al volgt:
Fri, 11 Dec 2009 11:28:00 GMT
Dus sorteert hij niet correct.
Weet iemand een oplossing?
Bedankt
Of
Wel ??
Want als je opslaat als date, datetime of time zou hij gewoon goed moeten ordenen...
Milo schreef op 11.12.2009 13:43:
Als ik goed begrijp is hij dus niet opgeslagen als date..
Of
Wel ??
Want als je opslaat als date, datetime of time zou hij gewoon goed moeten ordenen...
Of
Wel ??
Want als je opslaat als date, datetime of time zou hij gewoon goed moeten ordenen...
Nee, hij is opgeslagen als varchar, dus als tekst
Dan zul je hem dus als datetime moeten opslaan...
3x keer raden waarom niet?
Indd, het is gemaakt voor tekst en niet voor een datum
Als je hem opslaat als date kan je er op ordenen...
Is er een mogelijkheid om van Fri, 11 Dec 2009 11:28:00 GMT tot een datetime te maken?
Bedankt
gewoon het veld veranderen naar datetime en inserten met NOW() oid. dan kwak je er zelf maar GMT achter.
Dit zou je zo kunnen doen:
MOMENT :P
Als je nu in je database van het veld varchar, datetime zal maken, zullen waarschijnlijk alle velden op 0000-00-00 00:00:00 komen te staan.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$datum = 'Fri, 11 Dec 2009 11:28:00 GMT';
function maand()
{
$str_replace('Dec', '12', $blaat);
// etc
return $blaat;
}
$date = explode(' ', $datum);
/*
$date[0] => Fri,
$date[1] => 11
$date[2] => Dec
$date[3] => 2009
$date[4] => 11:28:00
$date[5] => GMT
*/
$nieuw = $date[3].'-'.maand($date[2]).'-'.$date[1].' '.$date[4];
?>
$datum = 'Fri, 11 Dec 2009 11:28:00 GMT';
function maand()
{
$str_replace('Dec', '12', $blaat);
// etc
return $blaat;
}
$date = explode(' ', $datum);
/*
$date[0] => Fri,
$date[1] => 11
$date[2] => Dec
$date[3] => 2009
$date[4] => 11:28:00
$date[5] => GMT
*/
$nieuw = $date[3].'-'.maand($date[2]).'-'.$date[1].' '.$date[4];
?>
wel volstaat om het om te zetten, ik zeg niet dat het de beste manier is maar het werkt...
Gewijzigd op 01/01/1970 01:00:00 door Milo
Milo schreef op 11.12.2009 14:06:
µIk denk dat dit:
wel volstaat om het om te zetten, ik zeg niet dat het de beste manier is maar het werkt...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$datum = 'Fri, 11 Dec 2009 11:28:00 GMT';
function maand()
{
$str_replace('Dec', '12', $blaat);
// etc
return $blaat;
}
$date = explode(' ', $datum);
/*
$date[0] => Fri,
$date[1] => 11
$date[2] => Dec
$date[3] => 2009
$date[4] => 11:28:00
$date[5] => GMT
*/
$nieuw = $date[3].'-'.maand($date[2]).'-'.$date[1].' '.$date[4];
?>
$datum = 'Fri, 11 Dec 2009 11:28:00 GMT';
function maand()
{
$str_replace('Dec', '12', $blaat);
// etc
return $blaat;
}
$date = explode(' ', $datum);
/*
$date[0] => Fri,
$date[1] => 11
$date[2] => Dec
$date[3] => 2009
$date[4] => 11:28:00
$date[5] => GMT
*/
$nieuw = $date[3].'-'.maand($date[2]).'-'.$date[1].' '.$date[4];
?>
wel volstaat om het om te zetten, ik zeg niet dat het de beste manier is maar het werkt...
Bij
Geeft hij de volgende error:
Function name must be a string
@Milo bedankt dat je me wou helpen maar het idee van Hipska was iets gemakkelijker:)
Ja klopt, had er niet eens aan gedacht :$