Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  12 1045
Hei!
Har møtt på et rart problem her.
Jeg lagrer dato i databasen der datatypen er DATE.

Når jeg skal skrive ut koden bruker jeg dette:

Kode

<?
echo date('j F Y',$rad['dato']);
?>
Datoen er stuck på "1 January 1970", noen ide hvorfor?
nso
popålol
nso's Avatar
Administrator
Sikkert fordi $rad['dato'] er tom eller 0.
Print ut verdien først for å sjekke
Verdien er ikke tom Den er 2010-01-05
Jeg er ganske sikker på at date() skal ha timestamp i sekunder siden 1 januar 1970 som argument nr. 2.
nso
popålol
nso's Avatar
Administrator
http://php.net/manual/en/function.date.php

Date tar inn en timestamp. Timestamp er et integer. Du sender ikke inn et timestamp. Du sender inn en dato. Ergo klarer den ikke å lese den, og verdien blir 0.


Edit: Too late
Sist endret av nso; 7. januar 2010 kl. 20:44.
Hva skal jeg bruke da? Hvis det finnes en funksjon for det.
Eller skal jeg endre i databasen? Har ikke bruk for klokkeslettet, så valgte å bruke date.
nso
popålol
nso's Avatar
Administrator
http://php.net/manual/en/function.strtotime.php

Kode

echo date('j F Y', strtotime($rad['dato']));
Sist endret av nso; 7. januar 2010 kl. 20:45.
Tusen takk
Du kan bruke TIMESTAMP som datatype i databasen om jeg ikke husker feil. Nå er det lenge siden jeg har brukt MySQL, men UNIX_TIMESTAMP() ser lovende ut. "SELECT UNIX_TIMESTAMP(date)..."

http://dev.mysql.com/doc/refman/5.1/...unix-timestamp
Selv bruker jeg alltid timestamp i databasen, det gjør konverteringer litt enklere ja
Selv bruker jeg alltid date_format() funksjonen til mysql, da slipper jeg å konvertere med php og denne metoden er vel en del hurigere i lengden og:

Kode

SELECET DATE_FORMAT('kolonnenavn','%d %M %Y')
Link
Sist endret av lsrr; 8. januar 2010 kl. 20:12.
▼ ... over en uke senere ... ▼
bare av ren nyskjerrighet og uvitenhet(pga lenken din ikke svarte på spørsmåle mitt).
Hvis jeg skal ha datoen en bruker registrerte seg tar jeg(slik systemet er nå)

SELECT * FROM brukere WHERE id=$brukerid

Hvor setter jeg da SELECT DATE_FORMAT?
nso
popålol
nso's Avatar
Administrator
Sitat av hayer Vis innlegg
bare av ren nyskjerrighet og uvitenhet(pga lenken din ikke svarte på spørsmåle mitt).
Hvis jeg skal ha datoen en bruker registrerte seg tar jeg(slik systemet er nå)

SELECT * FROM brukere WHERE id=$brukerid

Hvor setter jeg da SELECT DATE_FORMAT?
Vis hele sitatet...

Kode

SELECT 
  *, 
  DATE_FORMAT(jallaballa) AS formatert_dato 
FROM trallala;
Sist endret av nso; 18. januar 2010 kl. 20:40.