webForumDet fria alternativet

Datum

10 svar · 302 visningar · startad av Ricki

RickiMedlem sedan juni 2000373 inlägg
#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?

------------------
Hälsningar Ricki
revolution | mail

EclipseMedlem sedan juli 20003 825 inlägg
#2

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

------------------
OLR WebAdmin

SPiNMedlem 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

------------------
SPiN, bjorne.w@telia.com

-- They pretend to pay me, I pretend to work --

RickiMedlem sedan juni 2000373 inlägg
#4

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

------------------
Hälsningar Ricki
revolution | mail

hannesMedlem 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...

leifenMedlem 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])

Mats95Medlem 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!

------------------
TOTD: RTFM and THINK!

spangoMedlem 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().

------------------
All things serve the Beam!

rovikMedlem 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.

------------------
"Det är dyrare att ha en person som står och håller
maskinen igång än att satsa på ett stabilt OS".
Bengt Eriksson, produktchef på Oracle

FuelMedlem 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 ?

------------------
" The code is out there "

[Redigerat av Fuel den 27 jul 2001]

rovikMedlem 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]; ?>

------------------
"Det är dyrare att ha en person som står och håller
maskinen igång än att satsa på ett stabilt OS".
Bengt Eriksson, produktchef på Oracle

250 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
248 ms — hämta tråd, inlägg och bilagor (db)