date in foute volgorde

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Nvt nvt

nvt nvt

22/01/2008 19:17:00
Quote Anchor link
hallo,

de titel is een beetje vaag maarja.
i werk met een computer programma om een SQL te produceren.
dat programma maakt een klom aan datum_toegevoegd met het type DATE, daarna voert hij een SQL uit met het invullen, en geeft hij de kolom datum_toegevoegd een waarde van "06 jan 2008" maar dat kan niet in de DATE type. dus overal staat 0000-00-00, kan ik het ergens aanpassen waardoor hij toch werkt?

alvast bedankt, jesper
 
PHP hulp

PHP hulp

01/11/2024 01:02:06
 
Frank -

Frank -

22/01/2008 19:26:00
Quote Anchor link
Jij zult er voor zorgen dat '06 jan 2008' in de database wordt weggeschreven als '2008-01-06'. Doe je dat niet, dan hoor je een dikke error van de database te krijgen, je voert tenslotte een ongeldige datum (DATE) in. MySQL geeft echter geen foutmelding, maar helpt keurig jouw data naar de klote, die ben je dus kwijt. PostgreSQL daarintegen... Goed, dat verhaal kennen jullie vast wel, dat is een échte database, een échte DBMS.

Ga je PHP-code aanpassen en probeer MySQL zo in te stellen (strict-mode?) dat deze wél een foutmelding geeft op foute data. In PHP zul je ook de functie checkdate() moeten gebruiken om te controleren of een datum wel een geldige datum is, ook dat kan MySQL weer eens niet.
 
Nvt nvt

nvt nvt

22/01/2008 19:53:00
Quote Anchor link
oke, maar uh is er nog een ander type waarin ik wel 06 jan 2008 kan invoegen en die in php ook op datum kan laten sorteren?
 
Joren de Wit

Joren de Wit

22/01/2008 19:54:00
Quote Anchor link
Nee, dat doe je niet. Je slaat een datum gewoon in het formaat yyyy-mm-dd in een DATE veld op. Pas bij het ophalen uit de database ga je de datum met de MySQL functie DATE_FORMAT() in een bepaald formaat gieten...

ps. Zie ook de handleiding voor alle andere datum- en tijdfuncties die de database je biedt.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Frank -

Frank -

22/01/2008 20:13:00
Quote Anchor link
jesper schreef op 22.01.2008 19:53:
oke, maar uh is er nog een ander type waarin ik wel 06 jan 2008 kan invoegen en die in php ook op datum kan laten sorteren?
'06 jan 2008' is geen datum en zonder datum kun je niet op datum sorteren.

Of is '06 piet 2008' ook een datum?
 
Nvt nvt

nvt nvt

22/01/2008 20:16:00
Quote Anchor link
ik kan '06 jan 2008' niet veranderen:( in 06-01-2008
 
Joren de Wit

Joren de Wit

22/01/2008 20:18:00
Quote Anchor link
Oh nee? En dit dan?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo date('Y-m-d', strtotime('06 jan 2008'));
?>

Dit levert een datum in een geldig ISO formaat. Dit is dus ook de enige datum die je in een database kunt gebruiken...
 
Nvt nvt

nvt nvt

22/01/2008 20:21:00
Quote Anchor link
ik bedoelde dat ik het in dat programma waarmee ik de SQL maak dat niet kan veranderen.
 
Joren de Wit

Joren de Wit

22/01/2008 20:24:00
Quote Anchor link
Welk programma is dat? En hoezo ben je gebonden aan dat programma dan?

Het is wat jij wilt, ik zit niet met een probleem. Ik draag alleen de oplossing aan voor jouw probleem, daar kun je mee doen wat je wilt. Als je je nog steeds afvraagt of er een andere manier is: nee, die is er niet. Een datum hoort in een DATE veld in het formaat yyyy-mm-dd. Daar is niets aan te veranderen!

ps. Overigens wel vreemd dat je in dat programma dan niet een datum in ISO formaat kunt aanmaken en opslaan in je tabel...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Frank -

Frank -

22/01/2008 20:31:00
Quote Anchor link
jesper schreef op 22.01.2008 20:21:
ik bedoelde dat ik het in dat programma waarmee ik de SQL maak dat niet kan veranderen.
Gooi dat programma weg en je probleem is opgelost.

Wat is dan nog het probleem? Je kunt hoog en laag springen, jij zult op de 1 of andere manier een correcte datum in het ISO-formaat yyyy-mm-dd moeten aanmaken. En dat jouw programmaatje dat niet kan, zegt meer over dat programmaatje, dan over het ISO-formaat...

Ps. Laat je nooit en te nimmer beperken door een programma, die kun je zo weggooien, is geen mens van afhankelijk.
 



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.