webForumDet fria alternativet
Logga in / Bli medlem

Datum

PHP

10 svar · 304 visningar · startad av Ricki

Medlem sedan juni 2000373 inlägg
Frågan#1

Tjena,
Jag är nubörjare på PHP och har en liten fråga. Jag har ett datum lagrat i en MySQL databas som ser ut såhär: 20010718193000. När jag sedan försöker formatera det blir resultatet detta: 2038-01-19 04:14:07. Varför? Jag använder följande kod:

echo "[" . date("Y-m-d H:i:s",$Rad[datum_tid]) . "]";

Och så en fråga till. Hur gör jag för att bara visa de 5 senaste posterna. Ska jag göra det med SQL eller med nån loop?

Medlem sedan juli 20003 825 inlägg
#2

2. SELECT * TOP 5 FROM news ORDER BY x_date;

Medlem sedan mars 20007 896 inlägg
#3

TOP 5 funkar endast om du använder SQL Server eller Access, vilket inte användes i detta fallet ;)

Det du söker är:
SELECT * FROM tblTabell LIMIT 0,5

Medlem sedan juni 2000373 inlägg
#4

Är det ingen som vet varför mitt datum blir så knasigt formaterat?

Medlem sedan juli 20016 inlägg
#5

när man vill ha datum i mysql tycker jag det är enklare att skapa datumet med php och sen stoppa in det som en varchar i mysql...

Medlem sedan juli 200173 inlägg
#6

men funktionen date ska ju ha en int timestamp som andra parameter medan du skickar in en sträng.
string date (string format [, int timestamp])

Medlem sedan juli 200143 inlägg
#7

Datumet ser knasigt ut för att du försker formatera ett timestamp som är lååååångt in i framtiden, hur Fick du det att se ut sådär från början??? MySQL brukar ju lägga in snygga datum!

Medlem sedan juni 20008 205 inlägg
#8

Du kan formatera datumet i sql-uttrycket... kolla in manualen på DATE_FORMAT.
Annars kan du göra om mysql-timestamp till php-timestamp, kolla översta exemplet i dokumentationen för time().

Medlem sedan juli 20013 inlägg
#9

date("y-m-d",tid) där tid är unixseconds. Den tror att det du får ut från mysql är sekunder

Använd datetime i mysql istället för timestamp.

Medlem sedan okt. 20001 285 inlägg
#10

hmm.. jag får bara ut 1970-01-01 01:00:00 hur jag än bär mig åt från datetime..

<? echo date("Y-m-d H:i:s",$rad2[datum]); ?>

oj.. ser i databasen att alla står på 0000-00-00 00:00:00 ... ehh vad är fel ?

Medlem sedan juli 20013 inlägg
#11

Om du använder datetime är det redan formaterat som du vill ha det så du behöver inte använda date("Y-m-d"...osv.

Använd bara MySQL funktionen NOW() då du skriver in i databasen så skriver den in tiden för tillfället.

<? echo $rad2[datum]; ?>

266 ms totalt · 4 externa anrop · v20260731065814-full.0583408b
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)