MullaKrekar Skrevet 15. april 2003 Del Skrevet 15. april 2003 Problemet er som følger: Jeg holder på å lage en enkelt nyhets-web og skal da bl.a. ha dato på innleggene/nyhetene. Selv om jeg skriver $dato = date("d.m.y") og legger dette inn i MySQL-databasen blir det feil, fordi jeg har formatet y.m.d. i databasen. Hvordan kan jeg endre dette slik at enten alle datoer legges inn med d.m.y? Eller hvordan gjør jeg evt. slik at jeg henter ut datoen slik den er i databasen, men gjør den om til formatet d.m.y før den skrives ut? (dato-feltet er seff av typen DATE i databasen) Lenke til kommentar
Neo Skrevet 15. april 2003 Del Skrevet 15. april 2003 Tror ikke du kan endre på datoformatet som ligger i databasen. Det du kan gjøre er å hente ut datoen på vanlig måte fra databasen og bruke funksjonen 'substr ( string string, int start [, int length])' som denne returner en string. Les mer om dette på: http://www.php.net/manual/en/function.substr.php Lenke til kommentar
MullaKrekar Skrevet 15. april 2003 Forfatter Del Skrevet 15. april 2003 Det går vel evt. også an å lagre datoen som tekst i databasen? Den skal foreløpig ikke brukes til noe - annet enn å vise datoen for når innlegget/nyheten ble postet. Lenke til kommentar
Neo Skrevet 15. april 2003 Del Skrevet 15. april 2003 Det går vel evt. også an å lagre datoen som tekst i databasen? Den skal foreløpig ikke brukes til noe - annet enn å vise datoen for når innlegget/nyheten ble postet. Joa, det går det, MEN som du selv sier: foreløpig. Du vet aldri når du trenger den datoen senere. Kanskje på sortering eller no? Råder deg på det sterkeste å beholde DATE - formatet. Det er ikke noe vanskelig å gjøre det jeg foreslo ovenfor. Tar maks 2 min. Lenke til kommentar
pekle Skrevet 15. april 2003 Del Skrevet 15. april 2003 Vil ikkje DATE_FORMAT(date, format) i MySQL returnere det format du spesifiserer? http://www.mysql.com/doc/en/Date_and_time_..._functions.html Lenke til kommentar
MullaKrekar Skrevet 15. april 2003 Forfatter Del Skrevet 15. april 2003 Takker for tips - har ikke fått kikket så nøye på dette enda, men det ser ut til at begge forslag kan hjelpe meg. Og bedre enda - forslaget til Neo hjalp meg med en annen utfordring jeg sto overfor også. Lenke til kommentar
MullaKrekar Skrevet 15. april 2003 Forfatter Del Skrevet 15. april 2003 Når jeg henter ut datoen er den f.eks. slik : 2003-4-15. Har forsøkt litt frem og tilbake, men jeg får ikke fjernet bindestreken ved hjelp av trim()-funksjonen. Sikkert bare noe småfeil, men jeg får det ikke til, selv om jeg har vært på php.net og kikket... Lenke til kommentar
MullaKrekar Skrevet 15. april 2003 Forfatter Del Skrevet 15. april 2003 Kan jeg bruke str_replace("-", "", "$dato"); ? Lenke til kommentar
andreasn Skrevet 15. april 2003 Del Skrevet 15. april 2003 Hva med å bruke denne når du henter fra databasen, den viser datoen slik: 15.04.2003 SELECT DATE_FORMAT(dato,'%d.%m.%Y') FROM tabell Lenke til kommentar
MullaKrekar Skrevet 15. april 2003 Forfatter Del Skrevet 15. april 2003 Kanskje det, men hvordan bruker jeg den når det er andre ting som hentes ut i samme SQL-setning? Slik er stningen nå: "SELECT newsid, heading, main_txt, date, ingress FROM news ORDER BY newsid DESC LIMIT 0,5;"; Og så skal den være noe sånt? "SELECT newsid, heading, main_txt, DATE_FORMAT(date,'%d.%m.%Y') AS dato, ingress FROM news ORDER BY newsid DESC LIMIT 0,5;"; Lenke til kommentar
MullaKrekar Skrevet 15. april 2003 Forfatter Del Skrevet 15. april 2003 Ehh, ja...det fungerte jo! Da var det moro med PHP igjen Lenke til kommentar
andreasn Skrevet 15. april 2003 Del Skrevet 15. april 2003 Det skal gå greit det tror jeg. Glemte å si at du selvfølgelig kan bytte ut det som står inni '%d.%.&Y' dersom du vil ha datoen i et annet format... Lenke til kommentar
dagatle Skrevet 19. april 2003 Del Skrevet 19. april 2003 Har tukla en del med de samme problemene rundt dato og klokkeslett. Jeg endte opp med å lagre dato som unixtime i db. Veldig enkelt ved insert av en post bare å benytte time() Når jeg skal ha det ut igjen så har jeg laget en date klasse hvor jeg deffinerer formatet/formatene og sender da unixtimen jeg får fra db inn i en egen funksjon i denne klassa som gir meg det formatet jeg ønsker tilbake. Klassen inneholder oxo en validate funksjon som er kjekk når du lar brukerne skrive inn dato. Jeg mener dette er med å øke søkeytelsen tatt i betraktning at db søker kjappere på tall enn på stringer (mener jeg ganske sikkert ? ) Morro om noen har noen kommentarer på min løsning Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå