webForumDet fria alternativet

DATETIME problem

7 svar · 295 visningar · startad av RoBaX

RoBaXMedlem sedan dec. 20014 inlägg
#1

Försöker lägga in tiden i en databas med följande php-text:

date('ymdHis');

har även prövat:

date('y-m-d H:i:s');

Den blir inte någon tid sparad utan enbart 0000-00-00 00:00:00 :-///

Någon som har något tips?

LarsGMedlem sedan dec. 200012 465 inlägg
#2

Använd funktionen current_timestamp i mysql istället.


insert into ogrish (aleb,bleb)
values('ABC',current_timestamp)

t.ex.

------------------
essentitia preter non sans multiplicandum

RoBaXMedlem sedan dec. 20014 inlägg
#3

Fungerar inte med TIMESTAMP heller :-/ Hur ska formatet se ut?

LarsGMedlem sedan dec. 200012 465 inlägg
#4

Vilken datatyp använder du för att lagra värdet i databasen?
Hur ser din kod ut?
Vad får du för fel?

Du kan inte påverka lagringsformatet för datetimekolumner i en databas. Om du vill visa värdet i något speciellt format så får du hantera det när du hämtar data.

------------------
essentitia preter non sans multiplicandum

RoBaXMedlem sedan dec. 20014 inlägg
#5

timestamp(14) står det i MySQL databasen...

Koden:

<?php
include("funcs/funcs.php");
include("funcs/opendb.php");
$usrr = strtolower($usr);
$tiden = date('ymdHis');
$sql = "INSERT INTO guestbook_$usrr(namn,tid,text) VALUES ('$user','$tiden','$text')";
$resultat = mysql_query($sql);

$res = mysql_query("SELECT * FROM profil where anv='$usr'",$db);
while ($ddata = mysql_fetch_array($res)) {
$nyag = $ddata[1];

        }      

$nyag++;
$sql = "UPDATE profil SET gast='$nyag' WHERE anv='$usr'";
$resultat = mysql_query($sql);

redir("guestbook.php?username=$usr")
?>

Felet blir att ingen tid är där... Står 0000-00-00 00:00:00 i databsen :-/

LarsGMedlem sedan dec. 200012 465 inlägg
#6

Du bör nog använda datatypen datetime istället.

$sql = "INSERT INTO guestbook_$usrr(namn,tid,text) VALUES ('$user',current_timestamp,'$text')";

Timestamp fungerar så att mysql uppdaterar den kolumnen automatiskt när det sker en insert eller update på tabellen (om man själv inte anger något värde).
http://www.mysql.com/doc/D/A/DATETIME.html

------------------
essentitia preter non sans multiplicandum

RoBaXMedlem sedan dec. 20014 inlägg
#7

Okej, nu sparas rätt i databasen =)

Denna kodsnäpp då...

function textDatum($dat) {
// nått här
}

Den funktionen får in dagens datum i formatet YYYY-mm-dd hh:mm:ss i $dat... Kan jag på något sätt få den att returnera typ

Tisdag den 18 dec 15:00

?? Tacksam för hjälp!

Vänliga hälsningar

// Robban

LarsGMedlem sedan dec. 200012 465 inlägg
#8

Du kan ju testa lite med strToTime som gör om det till en UNIX_TIMESTAMP och sedan formattera det med date och någon lämplig formatsträng.

function textDatum($dat) {
  return(date("format",strToTime($dat));
}

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 18 dec 2001]

132 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
130 ms — hämta tråd, inlägg och bilagor (db)