Datum vandaag in formulier opslaan database
Maar goed, ik ben nu bezig met een formulier en in dat formulier zit "datum aanvraag" en dat moet altijd op de datum van vandaag zijn, deze moet ook weg geschreven worden met het formulier naar mijn database.
De datum van vandaag heb ik nu staan in javascript, maar dit werkt niet met input.
Dit is mijn code:
<input type="text" tabindex="9" size="20" id="date">
<script name=mutatiedatum type="text/javascript">
window.onload=function()
{
var output=document.getElementById('date');
output.disabled=true;
var mydate=new Date(),
month=mydate.getMonth(),
day=mydate.getDate(),
year=mydate.getYear();
output.value = (day<10?'0'+day:day)+'-'+(month<10?'0'+month:month)+'-'+year;
}
</script>
En ik ben nog niet zo'n ster in php
date().
En voor sql NOW().
Voor php En voor sql NOW().
Thanks, ik ga er mee aan de slag.
mssql gebruikt GETDATE() voor de huidige datum :)
GETDATE() is voor de datum EN tijd als ik het goed heb.
NOW() geeft in MySQL een DATETIME. Wil je alleen een DATE, gebruik dan CURDATE ()
Je moet hem toch op deze manier invullen?
$sql="INSERT INTO mutatie_a (id, naam, BSN_nummer, afdeling, mutatiedatum )
VALUES
(' ','$_POST[naam]','$_POST[BSN_nummer]','$_POST[afdeling]','CURDATE()' ) ";
Of maak ik nu een hele domme fout?
maar je moet de quotes om CURDATE() weghalen.
( anders 'denkt' mysql dat je het als letterlijke string in de dB wilt zetten en het is een mysql functie die uitgevoerd met worden)
Gewijzigd op 01/01/1970 01:00:00 door - Roland -
Bedankt, hij werkt!
roland schreef op 25.11.2009 09:38:
Komt dit ook niet doordat de kolom waar wordt opgeslagen een VARCHAR is? Zou MySQL echt zo krom zijn date die een string kan opslaan in een DATE-veld?Nee hoor,
maar je moet de quotes om CURDATE() weghalen.
( anders 'denkt' mysql dat je het als letterlijke string in de dB wilt zetten en het is een mysql functie die uitgevoerd met worden)
maar je moet de quotes om CURDATE() weghalen.
( anders 'denkt' mysql dat je het als letterlijke string in de dB wilt zetten en het is een mysql functie die uitgevoerd met worden)
Het daadwerkelijk in de dB zetten gebeurd daarna * en dan worden ook controles uitgevoerd, voorzover die worden uitgevoerd. Van een te lange string wordt alleen het begin dat past in de dB opgeslagen, rest is weg!
Die string in een DATE-veld? ja, misschien propt ie dat er ook gewoon in..... ?
probeer het eens !
*ps dat lijkt mij de waarschijnlijke gang van zaken
Alleen nog één klein dingetje, hij slaat het op als Y-M-D. maar het liefst wil ik het als, D-M-Y. of kan ik dat gewoon aangeven als ik mijn gegevens weer opvraag van uit de tabel?
Marco, je moet er een date type van maken. Dan kun je met het uitlezen bepalen wat er in komt te staan. (zoals hierboven al wordt aangegeven lijkt het erop dat je een varchar/text/o.i.d. type gebruikt)
En alles werkt naar mijn zin!
Bedankt.