Blodhemn Skrevet 8. mai 2003 Del Skrevet 8. mai 2003 Heisann, Trenger litt hjelp med lite problem jeg har her . Er nybegynner så mine kunnskaper om php/mysql er minimale. Jeg vil har en dato som alltid ser slik ut: 2003-05-08 (altså 0000-00-00) det er defaulten av curdate() funksjonen i mysql. Jeg vil helst få datoen til å vises i dette formatet : 08.05.2003. -'ene kan jeg replace ved hjelp av str_replace(), men selve datoen er litt verre. Mistenker det for å være et godt sted å bruke pattern replace, preg_replace() ellerno liknende, men syntaksen er alltfor vanskelig for meg å forstå. Har kikket på http://www.php.net/manual/en/function.preg-replace.php men ble ikke noe smartere av den grunn Kikket på denne : <?php $string = "April 15, 2003"; $pattern = "/(w+) (d+), (d+)/i"; $replacement = "${1}1,$3"; print preg_replace($pattern, $replacement, $string); /* Output ====== April1,2003 */ ?> Har store problemer med å fatte noe som helst av hvordan $pattern og $replacement variablene fungerer i dette eksempelet. På forhånd takk Lenke til kommentar
alexholm Skrevet 8. mai 2003 Del Skrevet 8. mai 2003 Vel, som jeg nevnte i en annen tråd: http://forum.sourcecode.no/viewtopic.php?p...p=881529#881529 så kan man fint formatere dato'en slik man vil når man henter den ut fra MySQL. I ditt tilfelle, så må vel formateringen bli DATE_FORMAT (dato, "%d.%m.%Y") Lenke til kommentar
Xqtor Skrevet 8. mai 2003 Del Skrevet 8. mai 2003 Hvis datoen ligger i en database kan du kan løse dette i SQL-setningen som henter ut fra databasen med DATE_FORMAT(navnet_på_datofeltet_ditt,'%d.%m.%Y') AS new_date Lenke til kommentar
Blodhemn Skrevet 8. mai 2003 Forfatter Del Skrevet 8. mai 2003 Får det ikke til å virke. MySQL Spørring: SELECT DATE_FORMAT(Dato, '%d.%m.%Y') Feilmelding: Unknown column 'Dato' in 'field list' Jeg er 100% sikker på at feltet heter Dato Lenke til kommentar
alexholm Skrevet 8. mai 2003 Del Skrevet 8. mai 2003 Hvordan ser hele tabellen ut som dette Dato feltet er i? Lenke til kommentar
Blodhemn Skrevet 8. mai 2003 Forfatter Del Skrevet 8. mai 2003 Bruker phpMyAdmin i kontrollpanelet til servetheworld. Du kan se screenshot av tabellen her: http://www.mardraum.net/database-screen.gif Lenke til kommentar
alexholm Skrevet 8. mai 2003 Del Skrevet 8. mai 2003 Vel.. select DATE_FORMAT (Dato, "%d.%m.%Y") as fDato from Test vil kanskje funke? Denne vil vel hente alle datoene som er registrert. Lenke til kommentar
Blodhemn Skrevet 8. mai 2003 Forfatter Del Skrevet 8. mai 2003 Vel.. select DATE_FORMAT (Dato, "%d.%m.%Y") as fDato from Test vil kanskje funke? Denne vil vel hente alle datoene som er registrert. SQL-spørring : select DATE_FORMAT (Dato, "%d.%m.%Y") as fDato from Test LIMIT 0, 30 MySQL sa: You have an error in your SQL syntax near '(Dato, "%d.%m.%Y") as fDato from Test LIMIT 0, 30' at line 1 Lenke til kommentar
iks Skrevet 8. mai 2003 Del Skrevet 8. mai 2003 $db = mysql_connect("hostname","username","passwd"); mysql_select_db("hjalla",$db); $dato = mysql_query("SELECT unix_timestamp(Dato) FROM Test where ID = '1' ", $db); while($row = mysql_fetch_row($dato)) { setlocale(LC_TIME, "no_NO"); $convert_date = strftime("%A %e. %B %Y Klokken: %H:%M",$row[0]); $convert_date = ucwords($convert_date); echo $convert_date; } Denne gir output format:Mandag 5. Mai 2003 Klokken: 02:48 feks. Lenke til kommentar
alexholm Skrevet 8. mai 2003 Del Skrevet 8. mai 2003 Det funker da som bare det her. Hva for versjon MySQL er det du har? Kanskje det er noe rart der. Kanskje du ikke kan ha mellomrom på DATE_FORMAT og første parantesen. At det burde være DATE_FORMAT(Dato... Jeg har jo laget identisk tabell som du har og jeg har ikke problemer Lenke til kommentar
Blodhemn Skrevet 8. mai 2003 Forfatter Del Skrevet 8. mai 2003 Det funker da som bare det her. Hva for versjon MySQL er det du har? Kanskje det er noe rart der. Kanskje du ikke kan ha mellomrom på DATE_FORMAT og første parantesen. At det burde være DATE_FORMAT(Dato... Jeg har jo laget identisk tabell som du har og jeg har ikke problemer MySQL 3.23.42 Men funka strålende uten mellomrom mellom DATE_FORMAT og parantesen Lenke til kommentar
iks Skrevet 8. mai 2003 Del Skrevet 8. mai 2003 Min kode er egentlig for å få ut dag og måned på norsk. Det beste er vel om man bare skal ha ut 01.01.2003 å kjøre den i spørringen som beskrevet over.... Lenke til kommentar
Blodhemn Skrevet 8. mai 2003 Forfatter Del Skrevet 8. mai 2003 Funka greit begge løsningene. Det passer meg utmerket egentlig siden jeg prøver å lære meg php og mysql, nå vet jeg hvordan jeg skal gjøre det i sql og hvordan gjøre det i php Neste tabell skal nok dateres med Timestamp tenker jeg Takk for hjelpa alle sammen 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å