webForumDet fria alternativet

Hur hämtar jag aktuellt datum?

PHP

8 svar · 706 visningar · startad av shun

Medlem sedan mars 2004230 inlägg
Frågan#1

Använder mig av ett fält i MySQL av typen DATE som automatiskt ska ange tiden i formatet 2005-03-22 (vet detta eftersom standard är 0000-00-00). De försöken jag gjort för att spara den aktuella tiden jag fyller i en rad lyckas, förutom då det gäller datumkolumnen. Vilken phpkod är det som gäller?

Medlem sedan apr. 20041 597 inlägg
#2

Här är finner du mer information om datumfunktion i MySQL: http://dev.mysql.com/doc/mysql/en/datetime.html

I min värld borde du kunna använda dig av ett s.k. "timestamp" i databasen som automatiskt fyller i ett datum när du registrerar en ny post!

Medlem sedan sep. 200436 inlägg
#3

man kan väl skriva i en QUERY ungeför så här:
UPDATE xxx SET mittdate = NOW() .

Medlem sedan mars 2004230 inlägg
#4

Förstår mig inte riktigt på dokumentationen i länken Lillebror gav mig, hoppades på färdig lösning i ett exempel där men sån tur hade man inte. Menar du att man inte tar reda på datumet alls i PHP först och bara låter MySQL skriva tiden själv? Alltså, skriva ngt-med-timestamp direkt i SQL-queryn, istället för att använda date("Y-m-d") på något sätt..

Medlem sedan feb. 2003777 inlägg
#5

Är det detta du menar ?

echo "<td>" .$row['datum']."</td>";
Medlem sedan mars 2004230 inlägg
#6

Ja, men det är inte i presentationen problemet ligger, datumet kommer aldrig in korrekt i databasen.

Medlem sedan dec. 1999757 inlägg
#7

Jag har antagligen fattat fel i vad du vill åstakomma men som jag ser det så har du i princip redan fått 3 olika sätt att skicka in datumet, varav det ena är ditt eget förslag.

Genom att använd NOW() eller timestamp eller date (), som du själv nämnde, så får du dagens datum och frågan blir i vilket format du vill ha det.

mysql_query("UPDATE tabellen SET datumfältet='" . date("Y-m-d") . "' WHERE id='idet'");

date() skickar in datumet i formatet som du själv anger inom date och här blir det yyyy-mm-dd, precis som om du istället skulle använda NOW() i ditt DATE-fält, som du skapat om jag fattade dig rätt.
Själv föredrar jag nog hellre timestamp eftersom det är aningen mer skalbart och lättare att räkna med. Åtminståne för mig men det är kanske en vanesak egentligen.

mysql_query("UPDATE tabellen SET datumfältet='" . time() . "' WHERE id='idet'");

När du vill hämta ut datumet från en sql-fråga så bestämmer du själv i vilket format du vill skriva ut det, exempelvis:
echo date("Y-m-d", $result['datumfältet']);

Medlem sedan mars 2004230 inlägg
#8

kjell skrev:

mysql_query("UPDATE tabellen SET datumfältet='" . date("Y-m-d") . "' WHERE id='idet'");

Den funktionen är nog vad jag är ute efter, men går det inte att integrera i en INSERT query, ist. för UPDATE? Skulle vara mer behändigt eftersom man slipper ange id själv (det får inlägget automatiskt)

Medlem sedan dec. 1999757 inlägg
#9

Det spelar ingen roll om det är en update eller insert. De e ba´ å åk.

258 ms totalt · 3 externa anrop · v20260731065814-full.767b4345
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)