Avatar billede uneerup Nybegynder
02. december 2003 - 14:29 Der er 13 kommentarer og
1 løsning

Formater date fra mysql

hejsa alle

jeg har et felt af typen "date" der ligger datoerne jo som ååååmmdd

men jeg vil gerne udskrive datoerne som f.eks. 24 december 2003 i php'en

hvordan formater jeg det?
Avatar billede kryster Nybegynder
02. december 2003 - 14:36 #1
$sql_select = mysql_query("SELECT *, DATE_FORMAT(datofelt, '%e %M %Y') AS dato FROM calendar ORDER BY datofelt ASC") or die(mysql_error());

Se flere dato koder her http://www.mysql.com/doc/en/Date_and_time_functions.html ca 1/3 nede på siden er det en tabel med de forskellige % koder.
Avatar billede kryster Nybegynder
02. december 2003 - 14:38 #2
Færdigt eksemble med en kalender i tabel.
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<?
  $sql_select = mysql_query("SELECT *, DATE_FORMAT(datofelt, '%e %M %Y') AS dato FROM calendar ORDER BY datofelt ASC") or die(mysql_error());
  while($row = mysql_fetch_array($sql_select)) {
?>
  <tr>
    <td width="50"><?=$row["dato"]?></td>
  </tr>
<?}?>
</table>
Avatar billede 7th Praktikant
02. december 2003 - 14:42 #3
Utestet...

SELECT et_tabelfelt, DATE_FORMAT(tabelfelt, \"%d %M %Y\") AS tabelfelt, ...
$months = array("januar" , "februar" , ovs ovs);
print str_replace (date("M") , $months[date("n")] , $row['tabelfelt']);
Avatar billede uneerup Nybegynder
02. december 2003 - 14:44 #4
Det var dælme dæjli, tak for din tid. vær så artig :-)
Avatar billede uneerup Nybegynder
02. december 2003 - 14:51 #5
skal lige høre om du også kan formater det om til dansk :-)
Avatar billede uneerup Nybegynder
02. december 2003 - 14:51 #6
skal nok gi point igen
Avatar billede kryster Nybegynder
02. december 2003 - 15:54 #7
Det 7th har lavet ændre måned navn til dansk.
Avatar billede uneerup Nybegynder
02. december 2003 - 16:08 #8
synes ikke lige det virker, kan jeg ikke få en lidt mere grundig gennemgang :-)
Avatar billede kryster Nybegynder
02. december 2003 - 17:05 #9
Testede og virker, det er ikke fantastisk flot lavet men det virker.

<table width="100%" border="0" cellpadding="0" cellspacing="0">
<?
  $months = array("", "Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December");
  $sql_select = mysql_query("SELECT *, DATE_FORMAT(date, '%c') AS month, DATE_FORMAT(date, '%e m%c %Y') AS dato FROM calendars ORDER BY date ASC") or die(mysql_error());
  while($row = mysql_fetch_array($sql_select)) {
  $dato = str_replace("m".$row["month"], $months[$row["month"]] , $row["dato"]);
?>
  <tr>
    <td><?=$dato?></td>
  </tr>
<?}?>
</table>
Avatar billede kryster Nybegynder
02. december 2003 - 17:06 #10
Hvad jeg lige kunne finde ud af ændre 7th's kun på den på måned vi er i nu, så det kun er datoer med decebmer der bliver ændret til dansk som jo også hedder December så lidt svært at se. ;-)
Avatar billede uneerup Nybegynder
02. december 2003 - 17:21 #11
øhh nu spørger jeg måske dumt, men den melder

No Database Selected

jeg er ikke lige den bedste til det her :-)
hva mangler jeg og hvordan?
Avatar billede kryster Nybegynder
02. december 2003 - 17:29 #12
Hvis mit første svar "virkede" burde det nye svar også virke.
Har du lavet en dbconnect, for at kunne hente fra databasen.
Siger den et linie nr.?
Avatar billede uneerup Nybegynder
02. december 2003 - 17:32 #13
$Host = "xx";
$User = "xx";
$Password = "xx";
$DBName = "xx";
$TableName = "kalender";
$Link = mysql_connect ($Host, $User, $Password);

$months = array("", "Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December");
$sql_select = mysql_query("SELECT *, DATE_FORMAT(date, '%c') AS month, DATE_FORMAT(date, '%e m%c %Y') AS dato FROM $TableName ORDER BY dato ASC") or die(mysql_error());

  while($row = mysql_fetch_array($sql_select)) {
  $dato = str_replace("m".$row["month"], $months[$row["month"]] , $row["dato"]);

kan ik lige se fejlen
Avatar billede kryster Nybegynder
02. december 2003 - 18:00 #14
Får du også fejl hvis du lavér en simpel select?
$sql_select = mysql_query("SELECT * FROM kalender") or die(mysql_error());
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