[PHP/mysql] tijd en datum opslaan in tabel

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • LocoShady
  • Registratie: Mei 2003
  • Laatst online: 21:33
ik kan hier best kort over zijn :)
ik ben bezig met een forumpje en wil topics ordenen op tijd van laatste reactie dus als er een reactie wordt geplaatst wordt de tijd van de laatste reactie geupdate

PHP:
1
2
3
4
5
6
7
mysql_query ("
    UPDATE 
        sf 
    SET
        last_reply = NOW()
    WHERE 
        ID = '".$_GET['TOPID']."'");


maar hij zet de hele tijd dezelfde tijd in last_reply namelijk:
20040205170509

oftewel:
Thu 01 January 01:00:00 AM

en zoals jullie snappen is dat niet de bedoeling :)

waardoor komt dat?

oja: last_reply is van het type timestamp :)

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:27

.oisyn

Moderator Devschuur®

Demotivational Speaker

Hoe kom je aan dat resultaat van "Thu 01 January 01:00:00 AM" dan? Gebruik je daar date() of strftime () voor? Zo ja, dan is het logisch, want die timestamp van mysql is niet hetzelfde als een unix timestamp (kijk er maar eens naar, een unix timestamp is het aantal seconden vanaf 1 jan 1970 0:00, de mysql timestamp is in de vorm [jaar][maand][dag][uur][minuten][seconden]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • LocoShady
  • Registratie: Mei 2003
  • Laatst online: 21:33
.oisyn schreef op 05 februari 2004 @ 18:48:
Hoe kom je aan dat resultaat van "Thu 01 January 01:00:00 AM" dan? Gebruik je daar date() of strftime () voor? Zo ja, dan is het logisch, want die timestamp van mysql is niet hetzelfde als een unix timestamp (kijk er maar eens naar, een unix timestamp is het aantal seconden vanaf 1 jan 1970 0:00, de mysql timestamp is in de vorm [jaar][maand][dag][uur][minuten][seconden]
hey shit :)
ik heb nog ene keer beter gekeken naar de inhoud van mn database en in de databse is het idd wel verschillend maar alleen alleen als ik het zo weergeef niet..

PHP:
1
$row['msg_time'] = date("D d F H:i:s A", $row['msg_time']);
heb ik..

weet je wat het dan wel moet zijn?

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

LocoShady schreef op 05 februari 2004 @ 18:43:
waardoor komt dat?

oja: last_reply is van het type timestamp :)
Misschien omdat je de verkeerde type gebruikt?

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • LocoShady
  • Registratie: Mei 2003
  • Laatst online: 21:33
dusty schreef op 05 februari 2004 @ 19:21:
[...]

Misschien omdat je de verkeerde type gebruikt?
type is wel goed dacht ik, het is waarschijnlijk wat .oisyn zei maar ikweet niet hoe die regel dan moet zijn :)

Acties:
  • 0 Henk 'm!

  • BrZ
  • Registratie: Maart 2000
  • Laatst online: 00:22

BrZ

LocoShady schreef op 05 februari 2004 @ 19:37:
[...]


type is wel goed dacht ik, het is waarschijnlijk wat .oisyn zei maar ikweet niet hoe die regel dan moet zijn :)
Nee, type is niet goed, het is nl. geen unixtimestamp. Aangezien date daarmee werkt, en niet met de timestamps die jij gebruikt, krijg je een nutteloze uitkomst ;)

Acties:
  • 0 Henk 'm!

  • LocoShady
  • Registratie: Mei 2003
  • Laatst online: 21:33
BrZ schreef op 05 februari 2004 @ 19:51:
[...]


Nee, type is niet goed, het is nl. geen unixtimestamp. Aangezien date daarmee werkt, en niet met de timestamps die jij gebruikt, krijg je een nutteloze uitkomst ;)
welke type moet het dan zijn op die manier als ik het doe ?..

Acties:
  • 0 Henk 'm!

  • LocoShady
  • Registratie: Mei 2003
  • Laatst online: 21:33
nu staat er in mn tabel bij last_reply onderandere deze getalle:

20040205172016
20040205171259
20040205171155
20040205170509


en die kan ik dus niet gewoon gebruiken maar moet andere type doen..?

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Haal die timestamps op met UNIX_TIMESTAMP(), dan kun je ze in date() gewoon gebruiken.

dus:

SELECT UNIX_TIMESTAMP(last_reply) FROM ...

MySQL timestamp is gewoon alle datumvelden aan elkaar geplakt en de PHP (unix) timestamp is tijd vanaf 1970. Dat moet dus ff omgezet worden als je de data ophaalt.

[ Voor 38% gewijzigd door Bosmonster op 05-02-2004 22:52 ]

Pagina: 1