Avatar billede rasmus-madsen Nybegynder
24. juni 2004 - 12:00 Der er 19 kommentarer og
2 løsninger

ændre dato ?

Hejza allesammen.
Jef har et virkelig stort problem. Når jeg gemmer en dato i min mysql database, ændre datoen sig ?
Sådan ser mine variabler ud:
$klokken = date("H:i:s");
$dato = date("j-m-y");

og sådan kommer de ud (udskriver dem fra databasen):
2024-06-04/12:00:52

Det er virkelig et stort problem ! ...
Felterne i min databse er sådanne:
dato date not null,
klokken time not null,

Er det forkert ? Vil smide 200 points til den der retter min store problem !!

På forhånd tak !
Avatar billede dennismp Nybegynder
24. juni 2004 - 12:08 #1
Når du smider en dato i mysql skal det være i formatet
YYYY-MM-DD HH:MM:SS

Ellers kan mysql misforstå det..

Når du så trækker datoen ud fra mysql kan du bruge date_format

fx.

SELECT date_format(dato,'%e-%m-%Y %H:%i:%s') as dato ..
Avatar billede dennismp Nybegynder
24. juni 2004 - 12:09 #2
Hvis du bare skal have tiden ligenu .. så kan du bruge now() istedet for en dato, når du indsætter eller updater..

fx

UPDATE tabel SET dato=now();

eller

INSERT INTO tabel (dato) VALUES(now());
Avatar billede rasmus-madsen Nybegynder
24. juni 2004 - 12:10 #3
$klokken = date("H:i:s");
$dato = date("j-m-y");

Hvad skal jeg lave dem om til så ?
Avatar billede rasmus-madsen Nybegynder
24. juni 2004 - 12:11 #4
dennismp--> Det skal jeg desværre ikke altid :(
Avatar billede rasmus-madsen Nybegynder
24. juni 2004 - 12:12 #5
.. ?
Avatar billede dennismp Nybegynder
24. juni 2004 - 12:15 #6
$klokken = date("H:i:s");
$dato = date("Y-m-d");

evt samlet:

$tidspunkt = date("Y-m-d H:i:s");
Avatar billede rasmus-madsen Nybegynder
24. juni 2004 - 12:19 #7
Hvis jeg indsætter  med:
$klokken = date("H:i:s");
$dato = date("Y-m-d");
Og udskriver den normalt virker det, næsten..
Datoen kommer:
2004-06-24
Hvor den skal være
24-06-2004

Kan du hjælpe med den? For hvis jeg bruger den anden select der opppe, tager den kun dato ud af mysql databaseb, ikke resten af felterne...
Avatar billede jaw Nybegynder
24. juni 2004 - 12:24 #8
$dato = date("d-m-Y");
Avatar billede rasmus-madsen Nybegynder
24. juni 2004 - 12:26 #9
jaw --> det virker jo ikke... Læs lige alle de andre indlæg..
Avatar billede dennismp Nybegynder
24. juni 2004 - 12:31 #10
Kan du ikek bare lave to, rasmus? Eeen til databasen og een til visning?
Avatar billede dennismp Nybegynder
24. juni 2004 - 12:33 #11
eller:

$nu = time();
// til udskrift:
$klokken = date("H:i:s");
$dato = date("j-m-y");

// sql

UPDATE tabel SET dato = FROM_UNIXTIME($nu);

eller

INSERT INTO tabel(dato) VALUES($nu);
Avatar billede jaw Nybegynder
24. juni 2004 - 12:44 #12
Nu misforstår jeg muligvis igen, men hvis du bruger:

$q = mysql_query("SELECT *, date_format(date,'%e-%m-%Y') as dato, date_format(date,'%H:%i:%s') as tid  FROM tabel") or die(mysql_error());
$row = mysql_fetch_array($q);

så får du $row[dato] - der vil udskrive 24-06-2004, $row[tid] der vil udskrive 12:45:50, samt alle dine andre $row[felter] som i en normal query...
Avatar billede rasmus-madsen Nybegynder
24. juni 2004 - 12:52 #13
Bugte din jaw, og det virker.. Lavede lidt om på den:
$res2 = mysql_query("SELECT *, date_format(dato,'%e-%m-%Y') as dato FROM log") or die(mysql_error());
while($row = mysql_fetch_array($res2)) {

Men det virker.. I kan dele points !
Avatar billede jaw Nybegynder
24. juni 2004 - 12:57 #14
At ændre har man jo altid lov til :)

Jeg skal ikke have ½-delen, Dennis lavede det største arbejde...
Avatar billede dennismp Nybegynder
24. juni 2004 - 12:58 #15
Jeg fatter nada :)

Jeg troede at problemet var at du fik år 2024 istedet for 2004. Hvordan indsætter du i tabellen?
Avatar billede jaw Nybegynder
24. juni 2004 - 12:59 #16
Tror "bare" problemet var, at det kom ud som amerikansk dato, altså YYYY-MM-DD :)
Avatar billede dennismp Nybegynder
24. juni 2004 - 13:09 #17
Ah. Jeg antog at 2024 var forkert og ikke kun formatet. Nå men det virker jo :)
Avatar billede rasmus-madsen Nybegynder
24. juni 2004 - 13:20 #18
hehe det virker nu :D ..
dennismp --> Lige det gamle spm, hvor du også hjalp mig videre...
Avatar billede rasmus-madsen Nybegynder
24. juni 2004 - 13:34 #19
lige = kig lige
Avatar billede rasmus-madsen Nybegynder
24. juni 2004 - 21:07 #20
Accepteret svar: jaw
24/06-2004 12:57:05
Point: 100,00 At ændre har man jo altid lov til :)

Jeg skal ikke have ½-delen, Dennis lavede det største arbejde...

Dennis fik alligevel 200 points, da han hjalp mig lidt ala det samme i et andet spm, hvor han fik 100 points.. Så tror det fair nok?

Eller hvad Dennis ?
Avatar billede dennismp Nybegynder
24. juni 2004 - 23:48 #21
det er dig der bestemmer :-)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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