Avatar billede catrine77 Nybegynder
07. april 2006 - 11:37 Der er 7 kommentarer

Dato format

Jeg arbejder på en hjemmeside, hvori der skal være en kalendertabel. Jeg ønsker at trække en dato ud og præsentere den i overskriften, men det format, der findes i sql databasen er det amerikanske : yyyy-mm-dd. Jeg ønsker at det skal præsenteres som dd-mm-yyyy. Er der nogen der ved, hvordan jeg gør dette?

Når feltet sættes ind i databasen sker dette ved at omformen getdate() vha følgende kode:

$dato_array=getdate();
$dato=$dato_array["year"]."-".$dato_array["mon"]."-".$dato_array["mday"];
Avatar billede barklund Nybegynder
07. april 2006 - 11:58 #1
SELECT DATE_FORMAT("%d-%m-%Y", min_dato) AS min_dato FROM ...

Og du kunne sådan set lave indsættelsen med CURDATE i stedet for at bruge PHP til noget så simpelt som dags dato :)

:)

--
Morten Barklund
Avatar billede catrine77 Nybegynder
07. april 2006 - 12:19 #2
Jeg er meget ny i det her og kan ikke helt finde ud af hvordan det skal forstås. Jeg trækker mine data ud i en forespørgsel således(nedenfor) - jeg er ikke sikker på, hvor den nye forespørgsel skal indsættes og om min_dato svarer til det jeg kalder dato? :

$resultat=mysql_query("SELECT * FROM Dato WHERE dato >= '$dato' ORDER BY Dato ASC");
               
        while($post=mysql_fetch_array($resultat)){
       
       
        echo "<table  align=center border=0>";
        echo "<tr><td>$post[dato]</td></tr>";
        echo "<tr><td>$post[Titel]</td></tr>";
        echo "<tr><td>$post[Beskrivelse]</td></tr>";
        echo "</table>";
Avatar billede barklund Nybegynder
07. april 2006 - 13:06 #3
$resultat=mysql_query("SELECT DATE_FORMAT("%d-%m-%Y", dato), Titel, Beskrivelse as dato FROM Dato WHERE dato >= '$dato' ORDER BY Dato ASC");

Burde vist gøre det :)
Avatar billede arne_v Ekspert
07. april 2006 - 13:20 #4
jeg synes generelt at dato formatering bør laves i applikations koden og
ikke i SQL
Avatar billede barklund Nybegynder
07. april 2006 - 13:22 #5
True, jeg er enig - men nu var det jo spørgsmålet :)
Avatar billede catrine77 Nybegynder
07. april 2006 - 13:25 #6
Den laver desværre en fejlmeddelelse. Jeg tænker, om det 'as dato' står forkert? Jeg har svært ved at gennemskue det, da jeg kun kender lidt til sql. Men jeg ville tro at as dato skal være knyttet sammen med den parantes, der er tidligere i sætningen?
Avatar billede barklund Nybegynder
07. april 2006 - 13:32 #7
Hm, det skyldes jo nok quotes i quotes :)

$resultat=mysql_query("SELECT DATE_FORMAT('%d-%m-%Y', dato), Titel, Beskrivelse as dato FROM Dato WHERE dato >= '$dato' ORDER BY Dato ASC");

Burde hjælpe :)
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
Computerworld tilbyder specialiserede kurser i database-management

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