Hey,
Ik wil een datum uit een PHP-formulier opslaan in mijn database. Dat lukt allemaal wel.
Maar mijn DB wil de datum in YYYY-MM-DD formaat, terwijl ik 'm door de gebruiker gewoon als DD-MM-YYYY wil laten invoeren.
Wat is de beste oplossing hiervoor?
Alvast bedankt
- PHP datum probleem
-
10-11-2010, 16:41 #1
- Berichten
- 348
- Lid sinds
- 16 Jaar
PHP datum probleem
-
-
10-11-2010, 16:44 #2
- Berichten
- 1.263
- Lid sinds
- 16 Jaar
Re: PHP datum probleem
Gewoon YYYY-MM-DD invoeren en wanneer je het ophaalt er voor de gebruiker juist ophalen, mits je gebruik maakt van een date(time) veld oid. Als je gewoon varchar velden oid gebruikt kan je het er natuurlijk gewoon ingooien zoals je wilt, maar kun je er in de queries niet mee rekenen.
EDIT:
http://dev.mysql.com/doc/refman/5.0/...on_date-format
EDIT²:
Dus zoiets;
Code:SELECT DATE_FORMAT(kolom, '%d-%m-%Y') AS datum FROM tabel
-
10-11-2010, 16:48 #3
- Berichten
- 348
- Lid sinds
- 16 Jaar
Re: PHP datum probleem
Maar de gebruikers vullen 'm in.. en het is wel wat gebruiksvriendelijker om 'm in DD-MM-YYYY te laten invullen toch? En Varchar veld is geen optie, want er moet op deze datum gezocht kunnen worden.
-
10-11-2010, 16:58 #4
- Berichten
- 78
- Lid sinds
- 15 Jaar
Re: PHP datum probleem
Je formulier....
Datum :
<input type="text" name="dag" size=2 maxlength="2">-<input type="text" name="maand" size=2 maxlength="2">-<input type="text" name="jaar" size=4 maxlength="4">
Vervolgens waar je het verwerkt...
PHP Code:if ($_SERVER['REQUEST_METHOD']=='POST')
$d = "$_POST[dag]";
$m = "$_POST[maand]";
$Y = "$_POST[jaar]";
$datum=("$Y-$m-$d");
$id = mysql_insert_id();
$query = "INSERT INTO deb (id, datum, naam)
VALUES ( '$id', '$datum', '$_POST[naam]')";
$resultaat = mysql_query($query) or die(mysql_error());
PHP Code:$datum=("$d-$m-$Y"); echo $datum;?
Zo werkt het voor mij. Weet alleen niet of dit veilig is.
Wordt ook alleen intern gebruikt hier.Laatst aangepast door gert smit : 10-11-2010 om 17:03 Reden: datum nog ophalen ;)
-
10-11-2010, 17:31 #5
- Berichten
- 604
- Lid sinds
- 16 Jaar
Re: PHP datum probleem
Je formulier....
Datum :
<input type="text" name="dag" size=2 maxlength="2">-<input type="text" name="maand" size=2 maxlength="2">-<input type="text" name="jaar" size=4 maxlength="4">
Vervolgens waar je het verwerkt...
PHP Code:if ($_SERVER['REQUEST_METHOD']=='POST')
$d = "$_POST[dag]";
$m = "$_POST[maand]";
$Y = "$_POST[jaar]";
$datum=("$Y-$m-$d");
$id = mysql_insert_id();
$query = "INSERT INTO deb (id, datum, naam)
VALUES ( '$id', '$datum', '$_POST[naam]')";
$resultaat = mysql_query($query) or die(mysql_error());
PHP Code:$datum=("$d-$m-$Y"); echo $datum;?
Wordt ook alleen intern gebruikt hier.
INPUT:
<input type="text" name="dag" size="2" maxlength="2" value="<?php echo date('d'); ?>"/>-<input type="text" name="maand" size="2" maxlength="2" value="<?php echo date('m'); ?>"/>-<input type="text" name="jaar" size="4" maxlength="4" value="<?php echo date('Y'); ?>"/>
PHP Code:<?php
if (is_numeric($_POST['dag']) and is_numeric($_POST['maand']) and is_numeric($_POST['jaar'])){
$d = $_POST['dag'];
$m = $_POST['maand'];
$Y = $_POST['jaar'];
/* Als de gebruiker zelf de hele datum in moet vullen, dus als er maar 1 input is gebruiken we een explode:
list($d,$m,$Y) = $_post['volledige_datum'];
Voorbeeld van de bijhorende input: <input type="text" name="volledige_datum" value="<?php echo date('d-m-Y'); ?>"/> */
if(checkdate($m,$d,$Y)){ // Kijken of de datum geldig is.
$amerikaanse_datum = $m.'-'.$d.'-'.$Y; // Maand-dag-jaar
$nederlandse datum = $d.'-'.$m.'-'.$Y; // Dag-maand-jaar
echo 'Amerikaanse datum: '.$amerikaanse_datum.'<br/>
Nederandse datum: '.$nederlandse_datum.'<br/>
Je kunt de variabelen gewoon opslaan in de database. Houd er wel rekening mee dat als je een database veld met de eigenschap "date" maakt, deze de Nederlandse datum niet pakt. Gebruik daarvoor dus de Engelse datum.';
} else echo 'foute datum';
} else {
?>
Formulier
<?php
}
?>
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic