Versio

Nederlandse DATUM?

Overzicht Reageren

Roeltje M

Roeltje M

31/07/2010 12:50:24
Quote Anchor link
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?
 
PHP hulp

PHP hulp

25/05/2012 07:19:42
Gesponsorde koppelingen:
 
Dalando De Zuil

Dalando De Zuil

31/07/2010 13:24:51
Quote Anchor link
Volgens mij moet je dan berlijn gebruiken.
 
- SanThe -

- SanThe -

31/07/2010 13:27:26
Quote Anchor link
Dalando De Zuil op 31/07/2010 13:24:51:
Volgens mij moet je dan berlijn gebruiken.


Wieso?
 
Karl Karl

Karl Karl

31/07/2010 14:00:03
Quote Anchor link
SanThe Nvt op 31/07/2010 13:27:26:
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...
 
Joren de Wit
Beheerder

Joren de Wit

31/07/2010 14:51:45
Quote Anchor link
Met een combinatie van de datumfuncties en ELT() en CONCAT() voor de nederlandse namen kom je ook een heel eind...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
SELECT
  CONCAT(
    ELT(DAYOFWEEK(datumveld), 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrijdag', 'Zaterdag', 'Zondag'),
    ' ',
    DAY(datumveld),
    ' ',
    ELT(MONTH(datumveld), 'januari', 'februari', 'etc...'),
    ' ',
    YEAR(datumveld)
  ) AS datum_NL
FROM
  tabelnaam
 
Noppes Homeland

Noppes Homeland

31/07/2010 15:48:02
Quote Anchor link
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...
 
Roeltje M

Roeltje M

31/07/2010 15:55:45
Quote Anchor link
Is er naast Blanches oplossing ook een andere oplossing?
Het is een datetime die vanuit database komt.
Gewijzigd op 31/07/2010 15:58:30 door Roeltje M
 
Noppes Homeland

Noppes Homeland

31/07/2010 17:48:31
Quote Anchor link
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(....,...)
 
Roeltje M

Roeltje M

02/08/2010 01:10:36
Quote Anchor link
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?
 
Roeltje M

Roeltje M

15/08/2010 12:54:04
Quote Anchor link
iemand nog een oplossing?
 
Noppes Homeland

Noppes Homeland

15/08/2010 13:06:28
Quote Anchor link
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.

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.
 
Roeltje M

Roeltje M

15/08/2010 13:41:52
Quote Anchor link
Ik heb nu gewoon functies:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
    }    


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.
 
Noppes Homeland

Noppes Homeland

15/08/2010 13:57:01
Quote Anchor link
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
 
Aad B

Aad B

15/08/2010 14:33:15
Quote Anchor link
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.
Gewijzigd op 15/08/2010 14:33:38 door Aad B
 
Noppes Homeland

Noppes Homeland

15/08/2010 14:36:11
Quote Anchor link
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
 
Aad B

Aad B

15/08/2010 14:53:52
Quote Anchor link
@Noppes: Ik begrijp het, dank voor de toelichting.
 
Roeltje M

Roeltje M

15/08/2010 17:53:05
Quote Anchor link
Ik heb het werkend gekregen, door in de database file dit te doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
?>
Gewijzigd op 15/08/2010 17:54:15 door Roeltje M
 
Noppes Homeland

Noppes Homeland

15/08/2010 19:18:56
Quote Anchor link
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.
 



Overzicht Reageren

Get Adobe Flash player