Avatar billede uneerup Nybegynder
02. december 2003 - 16:45 Der er 8 kommentarer og
1 løsning

kan ikke konverter dato til dansk vha. php

Hejsa alle

er der en der kan finde ud af hvad jeg gøre galt, jeg vil gerne have danske månedsnavne istedet for engelske

$Query = "SELECT *, DATE_FORMAT(dato, '(%d-%M-%Y)') AS dato FROM $TableName ORDER BY dato ASC;";
$Result = mysql_db_query ($DBName, $Query, $Link);

while ($Row = mysql_fetch_array ($Result)) {
$Row[tekst] = nl2br($Row[tekst]);

$months = array("januar" , "februar" , "marts" , "april" , "maj" , "juni" , "juli" , "august" , "september" , "oktober" , "november" , "december");
$dato = str_replace (date("M") , $months[date("d")] , $row[dato]);

på forhånd tak
Avatar billede 7th Praktikant
02. december 2003 - 16:59 #1
$Query = "SELECT *, DATE_FORMAT(dato, '(%d %M %Y)') AS dato FROM $TableName ORDER BY dato ASC;";

$months = array("januar" , "februar" , "marts" , "april" , "maj" , "juni" , "juli" , "august" , "september" , "oktober" , "november" , "december");
$dato = str_replace (date("M") , $months[date("d")] , $Row[dato]);
Avatar billede uneerup Nybegynder
02. december 2003 - 17:04 #2
skal jeg ikke køre
while ($Row = mysql_fetch_array ($Result))
før jeg kan sætte $Row[dato] ind nogle steder?
Avatar billede 7th Praktikant
02. december 2003 - 17:06 #3
Jov, et sek. $months[date("d")] skal også være $months[date("n") - 1]
Avatar billede 7th Praktikant
02. december 2003 - 17:17 #4
$res = mysql_query ("SELECT * , DATE_FORMAT(dato , \"%d %M %Y\") AS dato FROM $TableName ORDER BY dato") or die (mysql_error ());
$row = mysql_fetch_array ($res);

$months = array ("januar" , "februar" , "marts" , "april" , "maj" , "juni" , "juli" , "august" , "september" , "oktober" , "november" , "december");

echo "Dato: ".str_replace (date("F") , $months[date("n") - 1] , $row['dato']);

Jeg ved ikke helt med den while-løkke. Du bliver nok nød til at lave en mysql_query og mysql_fetch_array igen efter du har hentet teksten.
Avatar billede 7th Praktikant
02. december 2003 - 17:22 #5
@mysql_connect ($host , $user , $pass);
@mysql_select_db ($base);

$res = mysql_query ("SELECT * FROM $TableName ORDER BY dato") or die (mysql_error ());

while ($row = mysql_fetch_array ($res))
{
    $tekst[] = $row['tekst'];
}

$res = mysql_query ("SELECT * , DATE_FORMAT(dato , \"%d %M %Y\") AS dato FROM $TableName") or die (mysql_error ());
$row = mysql_fetch_array ($res);

$months = array ("januar" , "februar" , "marts" , "april" , "maj" , "juni" , "juli" , "august" , "september" , "oktober" , "november" , "december");

echo "Dato: ".str_replace (date("F") , $months[date("n") - 1] , $row['dato'])."<br>".implode ("<br>" , $tekst);
Avatar billede Slettet bruger
02. december 2003 - 20:21 #6
setlocale (LC_ALL, 'da_DK.ISO8859-1');
@mysql_connect ($host , $user , $pass);
@mysql_select_db ($base);
$res = mysql_query ("SELECT * , UNIX_TIMESTAMP(dato) AS dato FROM $TableName ORDER BY dato ASC")or die (mysql_error ());
$row = mysql_fetch_array ($res);
$dato_lang=strftime("%A den %d. %B %Y",$row['dato'])
Avatar billede Slettet bruger
02. december 2003 - 20:24 #7
Hov, jeg manglede lige et ; til allersidst i mit svar.

Det ovenstående forslag skulle resultere i følgende for idag, hvis serveren understøtter dansk:

$dato_lang="Tirsdag den 2. december 2003";
Avatar billede Slettet bruger
02. december 2003 - 21:08 #8
Jeg takker for pointene.

Da du med meget høj sandsynlighed får mere end en enkelt række fra mysql skal du selvfølelig lige have en while med igen. Den glemte jeg også.

Og for lige at besvare det oprindelige spørgsmål: Det, du gør galt, er at forsøge at genopfinde den dybe tallerken. Hvis man har serveren selv, kan man sagtens installere locales til ethvert sprog, og så kan PHP klare det selv.

Alt efter localesopsætningen kan du måske også bruge:

$dato_lang=strftime("%x",$row['dato']);

%x giver "preferred date representation for the current locale without the time", men jeg er ikke sikker på den vil skrive med forkortede dag- og månedsnavne.
Avatar billede uneerup Nybegynder
02. december 2003 - 22:06 #9
well jeg takker også for hjælpen, kunne altså heller ikke forstå hvis der ikke var en nemmere måde at gøre det på. Resten er forstået :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester