22. september 2006 - 17:46
Der er
15 kommentarer og 1 løsning
Problem med dato
Hej eksperter. Jeg er i gang med at lave et nyhedssystem, hvor der skal være en oprettelsesdato til hver nyhed. For at indsætte datoen i tabellen bruger jeg dette: $tid = date("Y-m-d"); mysql_query("INSERT INTO `nyheder` (id, emne, tekst, dato) VALUES ('','".$_POST['select']."','".$_POST['FCKeditor1']."','$tid');") or die(mysql_error()); og når jeg skal vise datoerne til nyhederne bruger jeg: echo date("d/m/Y", $dato); Men den skriver hele tiden 01/01/1970. dato i tabellen er en DATETIME Nogle der ved hvad jeg gør galt ?
Annonceindlæg fra Pointsharp
22. september 2006 - 17:48
#1
og liger over echo date("d/m/Y", $dato); har jeg: $dato = ($row['dato']);
22. september 2006 - 18:29
#2
Slet ingen der kan svare på dette simple spørgsmål ?
22. september 2006 - 18:57
#3
Indsæt evt. time() til mysql Eller du kan indsætte date("Y-m-d") og udskrive direkte...
22. september 2006 - 19:15
#4
Du kan måske gøre sådan her $dato='2006-11-23'; print date("d/m/Y", strtotime($dato));
22. september 2006 - 20:05
#5
Som erik skriver eller du kan i din SELECT lave en: SELECT UNIX_TIMESTAMP(dato) AS dato - så vil din kode virke... :)
24. september 2006 - 15:49
#6
Hvordan ser din data ud fra din select? Er værdien i dato-feltet NULL eller en misforstået dato?
26. september 2006 - 15:28
#7
til at hente nyhederne bruger jeg dette: $query = mysql_query ("SELECT * FROM `nyheder` ORDER BY dato DESC") or die(mysql_error()); while($row = mysql_fetch_array($query)) { $text = ($row['tekst']); $emne = ($row['emne']); $dato = ($row['dato']); ...
26. september 2006 - 15:37
#8
Hvordan får jeg så denne SELECT UNIX_TIMESTAMP(dato) AS dato ind ?
26. september 2006 - 15:39
#9
Prøv med: $query = mysql_query ("SELECT *, UNIX_TIMESTAMP(dato) AS dato FROM `nyheder` ORDER BY dato DESC") or die(mysql_error());
26. september 2006 - 15:45
#10
Okay. Problemet er bare at den nu skriver dagens dato og ikke den dato nyheden blev skrevet ?
26. september 2006 - 21:01
#11
Jeg kan godt få det til at virke hvis jeg skriver: --- mysql_query("INSERT INTO `nyheder` (id, emne, tekst, dato) VALUES ('','".$_POST['select']."','".$_POST['FCKeditor1']."',NOW());") or die(mysql_error()); --- Så skriver den datoen man opretter nyheden. Men hvis jeg gør sådan: --- $tid=strtotime("Y-m-j","$datofelt"); mysql_query("INSERT INTO `nyheder` (id, emne, tekst, dato) VALUES ('','".$_POST['select']."','".$_POST['FCKeditor1']."','$tid');") or die(mysql_error()); --- Skriver den bare 01/01-1970
26. september 2006 - 21:43
#12
Slet ingen der kan hjælpe ?
27. september 2006 - 10:22
#13
prøv med $tid=strtotime("Y-m-d","$datofelt");
27. september 2006 - 19:58
#14
Det virker stadig ikke...opretter lige et nyt spørgsmål, da dette er ved at komme lidt for langt ned i rækken ;)
27. september 2006 - 20:11
#15
Det behøver du da ikke (og må heller ikke før der er gået 7 dage). Hvor kommer $datofelt fra? Og hvad står der i feltet dato i tabellen?
28. september 2006 - 08:59
#16
den er da vist også helt gal den jeg selv foreslår... prøv det her i stedet for: $tid=date("Y-m-d",time());
Computerworld tilbyder specialiserede kurser i database-management