Sorteren op datum

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Guilliano

Guilliano

11/12/2009 13:41:00
Quote Anchor link
Beste,

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
 
PHP hulp

PHP hulp

09/05/2024 02:17:01
 
Milo

Milo

11/12/2009 13:43:00
Quote Anchor link
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...
 
Guilliano

Guilliano

11/12/2009 13:46:00
Quote Anchor link
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...

Nee, hij is opgeslagen als varchar, dus als tekst
 
Kitty N

kitty N

11/12/2009 13:49:00
Quote Anchor link
Dan zul je hem dus als datetime moeten opslaan...
 
Milo

Milo

11/12/2009 13:49:00
Quote Anchor link
Zo mag je geen datum 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...
 
Guilliano

Guilliano

11/12/2009 13:56:00
Quote Anchor link
Maar, ik slaag de datum niet op, via rss feed slaag ik de datum op dus die moet ik wel via een varchar opslagen.

Is er een mogelijkheid om van Fri, 11 Dec 2009 11:28:00 GMT tot een datetime te maken?

Bedankt
 
Wesley Overdijk

wesley Overdijk

11/12/2009 13:58:00
Quote Anchor link
gewoon het veld veranderen naar datetime en inserten met NOW() oid. dan kwak je er zelf maar GMT achter.
 
Milo

Milo

11/12/2009 14:00:00
Quote Anchor link
Wat je er dan van maakt is een tekst die opgeslagen gaat worden als een datum...
Dit zou je zo kunnen doen:

MOMENT :P
 
Kitty N

kitty N

11/12/2009 14:03:00
Quote Anchor link
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.
 
Milo

Milo

11/12/2009 14:06:00
Quote Anchor link
Ik denk dat dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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];
?>


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
 
Guilliano

Guilliano

11/12/2009 14:32:00
Quote Anchor link
Milo schreef op 11.12.2009 14:06:
Ik denk dat dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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];
?>


wel volstaat om het om te zetten, ik zeg niet dat het de beste manier is maar het werkt...
µ

Bij
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$str_replace('Dec', '12', $blaat);

Geeft hij de volgende error:
Function name must be a string
 
Hipska BE

Hipska BE

11/12/2009 14:36:00
Quote Anchor link
om je string om te zetten naar een datum-tijd kun je even hier naar kijken:
http://be2.php.net/manual/en/function.strtotime.php
 
Milo

Milo

11/12/2009 14:37:00
Quote Anchor link
XD sorry foutje meost natuurlijk zijn:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$blaat = str_replace('Dec', '12', $blaat);


Sorry my bad...
 
Guilliano

Guilliano

11/12/2009 15:09:00
Quote Anchor link
@Hipska: bedankt dit heeft me geholpen.

@Milo bedankt dat je me wou helpen maar het idee van Hipska was iets gemakkelijker:)
 
Milo

Milo

11/12/2009 15:12:00
Quote Anchor link
Ja klopt, had er niet eens aan gedacht :$
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.