datum in het Nederlands
Hieronder volgt mijn script
de eerste echo geeft als return 27-Jan-1968
Die wil ik omzetten naar 27 januari 1968
maar mijn tweede echo geeft als return 01 januari 1970
Ik raak er maar niet uit hoe dat komt.
In mijn database staat 1968-01-27
Code (php)
Gewijzigd op 01/01/1970 01:00:00 door Hilde
Maar uiteraard kun je de datum ook al direct in het juiste formaat uit de database halen. Zie de mysql functie DATE_FORMAT()...
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$sql=mysql_query("SELECT *,date_format(datum,'%d-%m-%Y') as nl_datum FROM `portfolio`") or die(mysql_error());
while ($row=mysql_fetch_assoc($sql)) {
echo $row["nl_datum"];
?>
$sql=mysql_query("SELECT *,date_format(datum,'%d-%m-%Y') as nl_datum FROM `portfolio`") or die(mysql_error());
while ($row=mysql_fetch_assoc($sql)) {
echo $row["nl_datum"];
?>
Dit heb ik....., hiermee word de datum omgezet..
Voorbeeld:
In de database staat 2008-12-28
PHP zet dit om naar: 12-28-2008
Maar, wanneer je 12 als text wilt tonen (december dus), moet je het iets anders aanpakken:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$sql=mysql_query("SELECT *,date_format(datum,'%d') as nl_dag, date_format(datum,'%m') as maand, date_format(datum, '%Y) as nl_jaar FROM `portfolio`") or die(mysql_error());
while ($row=mysql_fetch_assoc($sql)) {
if ($row["maand"] == 1) {
$maand="Januari";
}
if ($row["maand"] == 2) {
$maand="Februari";
}
//etc.....
echo $nl_dag."-".$maand."-".$nl_jaar;
}
?>
$sql=mysql_query("SELECT *,date_format(datum,'%d') as nl_dag, date_format(datum,'%m') as maand, date_format(datum, '%Y) as nl_jaar FROM `portfolio`") or die(mysql_error());
while ($row=mysql_fetch_assoc($sql)) {
if ($row["maand"] == 1) {
$maand="Januari";
}
if ($row["maand"] == 2) {
$maand="Februari";
}
//etc.....
echo $nl_dag."-".$maand."-".$nl_jaar;
}
?>
Gewijzigd op 01/01/1970 01:00:00 door /home/joost
@Joost: ook dat kun je natuurlijk gewoon allemaal in SQL doen...
Bedankt voor het script, dat werkt perfect
de mysql functie gebruik ik liever niet omdat ik (al weet ik dat jullie dat niet goedkeuren) toch het * gebruik om alles uit de database te halen
Ik maak nl een identeitskaartje per lid en heb dus alles nodig
Gewijzigd op 01/01/1970 01:00:00 door hilde
hilde schreef op 29.12.2008 15:32:
de mysql functie gebruik ik liever niet omdat ik (al weet ik dat jullie dat niet goedkeuren) toch het * gebruik om alles uit de database te halen
Dat vind ik toch niet echt een bepaald sterk argument... Waarom je zo erg uit de nesten werken met behulp van PHP als je met een paar extra tekens in je SQL query je er net zo makkelijk van af kunt brengen?
GaMer13 schreef op 29.12.2008 15:35:
Dat vind ik toch niet echt een bepaald sterk argument... Waarom je zo erg uit de nesten werken met behulp van PHP als je met een paar extra tekens in je SQL query je er net zo makkelijk van af kunt brengen?
Dat vind ik toch niet echt een bepaald sterk argument... Waarom je zo erg uit de nesten werken met behulp van PHP als je met een paar extra tekens in je SQL query je er net zo makkelijk van af kunt brengen?
Ik ga niet echt akkoord met "een paar extra tekens" en "net zo makkelijk"
Dat zal in uw geval wel kloppen, maar ik ben geen kenner he
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SELECT
CONCAT(
ELT(DAYOFWEEK(datum),
'zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'
),
' ',
DAYOFMONTH(datum),
' ',
ELT(MONTH(datum),
'januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'
),
' ',
YEAR(datum)
) AS newDate
FROM
tabelnaam
CONCAT(
ELT(DAYOFWEEK(datum),
'zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'
),
' ',
DAYOFMONTH(datum),
' ',
ELT(MONTH(datum),
'januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'
),
' ',
YEAR(datum)
) AS newDate
FROM
tabelnaam
Ps. Het gebruik van * werkt het maken van fouten in de hand. Wanneer je dus méér bugs wilt hebben, gebruik dan vooral het * !