Nederlandse DATUM?
Hoi,
Ik probeer mijn datum uit de database in het Nederlands te weergeven, alleen het lukt niet. Ik het setlocale(LC_ALL,'nl_NL'); en SET lc_time_names = 'nl_NL' (MYSQL) al geprobeerd.
Kan iemand mij helpen?
Ik probeer mijn datum uit de database in het Nederlands te weergeven, alleen het lukt niet. Ik het setlocale(LC_ALL,'nl_NL'); en SET lc_time_names = 'nl_NL' (MYSQL) al geprobeerd.
Kan iemand mij helpen?
Volgens mij moet je dan berlijn gebruiken.
Dalando De Zuil op 31/07/2010 13:24:51:
Volgens mij moet je dan berlijn gebruiken.
Wieso?
SanThe Nvt op 31/07/2010 13:27:26:
Wieso?
Dalando De Zuil op 31/07/2010 13:24:51:
Volgens mij moet je dan berlijn gebruiken.
Wieso?
Ik denk dat hij het denkt voor de tijd.
Maar dan zou je nog Amsterdam moeten gebruiken...
Met een combinatie van de datumfuncties en ELT() en CONCAT() voor de nederlandse namen kom je ook een heel eind...
Ik zie geen enkel verband tussen de setlocale van php en de SET lc_time_names = 'nl_NL'
zie overigens php.net voor de te gebruiken datum/tijd functies!
voor de SET oplossing ben je redelijkwijs afhankelijk van wat er bij installatie geinstalleerd is...
zie overigens php.net voor de te gebruiken datum/tijd functies!
voor de SET oplossing ben je redelijkwijs afhankelijk van wat er bij installatie geinstalleerd is...
Is er naast Blanches oplossing ook een andere oplossing?
Het is een datetime die vanuit database komt.
Het is een datetime die vanuit database komt.
Gewijzigd op 31/07/2010 15:58:30 door Roeltje M
Nee, als de SET niet werkt dan zal je noodzakelijkerwijs Blanche oplossing toepassen.
In feite zal moeten werken
SET lc_time_names = 'nl_NL' , na mysql_select_db
en dan gewoon de DATE_FORMAT(....,...)
In feite zal moeten werken
SET lc_time_names = 'nl_NL' , na mysql_select_db
en dan gewoon de DATE_FORMAT(....,...)
Mmm.. Ik gebruik PDO.. Kan ik niet gewoon die SET lc_time_names = 'nl_NL' eenmaling invoeren in database, en dat ie dan goed is?
iemand nog een oplossing?
Laat eens zien dan hoe je het nu probeert!!
In feite is:
mysql_connect
mysql_select_db
mysql_query -> SET options
al voldoende om tot een goed resultaat te komen.
Nee, dat zal in de config file van mysql gewijzigd dan wel toegevoegd moeten worden en daar zal je hoogst waarschijnlijk niet bij kunnen komen. Bij z'n wijziging dien je de mysqldeamon eerts te stoppen, dan de wijziging door te voeren en daarna weer starten.
In feite is:
mysql_connect
mysql_select_db
mysql_query -> SET options
al voldoende om tot een goed resultaat te komen.
Roeltje M op 02/08/2010 01:10:36:
Mmm.. Ik gebruik PDO.. Kan ik niet gewoon die SET lc_time_names = 'nl_NL' eenmaling invoeren in database, en dat ie dan goed is?
Nee, dat zal in de config file van mysql gewijzigd dan wel toegevoegd moeten worden en daar zal je hoogst waarschijnlijk niet bij kunnen komen. Bij z'n wijziging dien je de mysqldeamon eerts te stoppen, dan de wijziging door te voeren en daarna weer starten.
Ik heb nu gewoon functies:
Ik wil dus de datum in het Nederlands krijgen.
Ik heb geprobeerd in PHPMyAdmin de SET lc_time_names = 'nl_NL' ingevoerd (query succesvol uitgevoerd), maar dan blijft de tekst gewoon in het engels.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
public function getNews()
{
$query = "SELECT n.nie_id, n.ncat_id, n.titel, DATE_FORMAT(n.datum, '%d-%m-%Y') as datum FROM nieuws n ORDER BY n.datum DESC, n.nie_id DESC";
$stmt = $this->db->prepare($query);
$stmt->execute();
return $this->fetchAll($stmt);
}
{
$query = "SELECT n.nie_id, n.ncat_id, n.titel, DATE_FORMAT(n.datum, '%d-%m-%Y') as datum FROM nieuws n ORDER BY n.datum DESC, n.nie_id DESC";
$stmt = $this->db->prepare($query);
$stmt->execute();
return $this->fetchAll($stmt);
}
Ik wil dus de datum in het Nederlands krijgen.
Ik heb geprobeerd in PHPMyAdmin de SET lc_time_names = 'nl_NL' ingevoerd (query succesvol uitgevoerd), maar dan blijft de tekst gewoon in het engels.
Les 1: lc_time_names is een constante die in de config van mysql is vastgelegd, je kan deze met een SET lc_time_names = 'nl_NL' per sessie zetten, je zet dus tijdelijk iets om!!
De SET options kan je het beste uitvoeren na: connect en schema/database selectie!
Les 2: met PHPMyAdmin loop je in mijn ogen aardig te vloeken, dat is geen tool om:
1. je database mee te beheren
2. sql statements af te vuren op je database
Je hebt totaal geen idee wat phpmyadmin allemaal met je statements doet alvorens deze daadwerkelijk uit te voeren
Dus gebruik gewoon de tools die met mysql meekomen.
Les 3: lees eens goed wat er allemaal gepost wordt
De SET options kan je het beste uitvoeren na: connect en schema/database selectie!
Les 2: met PHPMyAdmin loop je in mijn ogen aardig te vloeken, dat is geen tool om:
1. je database mee te beheren
2. sql statements af te vuren op je database
Je hebt totaal geen idee wat phpmyadmin allemaal met je statements doet alvorens deze daadwerkelijk uit te voeren
Dus gebruik gewoon de tools die met mysql meekomen.
Les 3: lees eens goed wat er allemaal gepost wordt
Haal het op (SELECT) en zet het dan het het displayformaat dat je wil: SELECT DATE_FORMAT(column_name, '%d/%m/%Y') FROM tablename. Google even op de mogelijkheden van: %d/%m/%Y etcetc.
van alles is mogelijk.
van alles is mogelijk.
Gewijzigd op 15/08/2010 14:33:38 door Aad B
Aad, het gaat erom dat ie nederlandstalige dag / maand wil weergeven, dus dat er een SET lc_time_names = 'nl_NL' voor benodigd is alvorens je dit ook maar voor elkaar kan krijgen met DATE_FORMAT
@Noppes: Ik begrijp het, dank voor de toelichting.
Ik heb het werkend gekregen, door in de database file dit te doen:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$db = new PDO('mysql:host=localhost;dbname=xx','xxx','xxx');
$query = "SET lc_time_names = 'nl_NL'";
$stmt = $db->query($query);
?>
$db = new PDO('mysql:host=localhost;dbname=xx','xxx','xxx');
$query = "SET lc_time_names = 'nl_NL'";
$stmt = $db->query($query);
?>
Gewijzigd op 15/08/2010 17:54:15 door Roeltje M
He he, zal tijd worden. Op 31-7 is in feite al een keer geschreven dat dit de aanpak moest worden, waarom het dan zo lang moet duren eer het kwartje valt is mij een raadsel.




