SQL datum in DB invoeren als 'dd-mm-yyyy'

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marije

Marije

18/03/2006 22:24:00
Quote Anchor link
hoi,

ik heb een tabel in mijn DB genaamd : datum

die datum staat in de database als DATE en standaard staat die op 0000-00-00.

Nu wil ik dat de gebruiker niet 2006-01-02 hoeft in te vullen maar dat hij ook 02-01-2006 kan invoeren.

Ik lees de datum namelijk wel uit als 02-01-2006

Iemand een idee hoe ik dat kan doen?

groetjes
Marije
 
PHP hulp

PHP hulp

21/11/2024 22:44:26
 

18/03/2006 22:26:00
Quote Anchor link
Beste kan je dit doen door drie input boxjes te maken. En dan controlleren of het wel twee cijfers is en evt aanvullen naar 2. En dan omgekeerd in de query zetten
 
Eris -

Eris -

18/03/2006 22:27:00
Quote Anchor link
Of via een select ;)
 
Marije

Marije

18/03/2006 22:28:00
Quote Anchor link
maar dat zou betekenen dat de gebruiker in 3 verschillende vakjes iets zou moeten invullen? Is er geen makkelijkere methode?
Bedankt voor je reactie in ieder geval!
 
Klaasjan Boven

Klaasjan Boven

18/03/2006 22:31:00
Quote Anchor link
Een mogelijkheid is de datum splitsen omdraaien en dan de DB indrukken
Dit kan bijv met substr()
 
Jan Koehoorn

Jan Koehoorn

18/03/2006 22:33:00
Quote Anchor link
Een datum in een tekstveld laten invoeren door een gebruiker is vragen om moeilijkheden. Stel dat je een tekstveld 'datum' hebt in je formulier.

Dan krijg je dit soort dingen:

1/1/2006
1 januari 2006
2006-1-1
1 jan 2006

Probeer maar eens code te schrijven die dat allemaal correct verwerkt. De beste oplossing is drie selectboxen met vooraf ingestelde waarden voor de dagen, maanden en jaren. En dan met check_date kijken of het een geldige datum is, voor je hem in je db stopt.
 
Marije

Marije

18/03/2006 22:44:00
Quote Anchor link
ok, de gebruiker zeg ik maar het is in een CMS dus het zal iemand zijn die weet hoe hij/zij het moet invoeren.

misschien is een javascript die kijkt of je het goed invoert een idee?
 
Jan Koehoorn

Jan Koehoorn

18/03/2006 22:51:00
Quote Anchor link
@Marije: ik heb erg veel ervaring met "gebruikers die weten hoe ze het moeten invoeren" en geloof mij: je database wordt een zootje als je ze de vrije hand geeft.
 
Marije

Marije

18/03/2006 22:54:00
Quote Anchor link
ok :) ik geloof je. Ik ben ook maar een leek.
Ik denk dat ik ze gewoon force om de datum op een bepaalde manier in te geven (zoals de DB met de gegevens omgaat) YYYY-MM-DD dus...

is daar een JS voor? die dat kan checken?
 
Jan Koehoorn

Jan Koehoorn

18/03/2006 22:55:00
Quote Anchor link
Voorbeeld van een select waarmee je dagen kunt invoeren:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
    $dagen
= range ('1', '31');
    echo '<select name="dag">';
    foreach ($dagen as $value) {
        echo '<option value="'.$value.'">'.$value.'</option>';
    }

    echo '</select>';
?>


edit: voor maanden kun je de code kopieren maar dan 1 t/m 12 invullen. Voor jaren kies je een bereik dat bij jouw situatie past. Bijvoorbeeld 1950 tot 1995 als het om een geboortejaar gaat.
Gewijzigd op 18/03/2006 22:58:00 door Jan Koehoorn
 
Marije

Marije

18/03/2006 23:26:00
Quote Anchor link
dat gaat me iets te ver :) ik heb er wel iets mee geprobeerd maar kom er niet echt uit.

Kan ik niet 3 velden maken dus een vakje met DD eentje met MM en YYYY ? en dan zeggen vakje 1 is $day etc?

of praat ik nu onzin? :)
 
Jan Koehoorn

Jan Koehoorn

18/03/2006 23:28:00
Quote Anchor link
Ik zou zeggen: probeer het uit ;-) En kijk wat er met je database gebeurt :-)
 



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.