kan någon förklar vad en timestamp är för något jag har hört det ofta och fattar inget då.... kan någon också ge mig ett kodexempel på detta?
timestamp?
4 svar · 263 visningar · startad av patrik2002
I PHP är unix timestamp lika med det antal sekunder som gått sedan 1970-01-01 klockan 01:00:00.
Exempel:
<?php
$tid=21; // 21 sekunder
echo date("Y-m-d H:i:s", $tid);
echo "<br>";
$tid=60*60*2 + 1; // (=7201 sekunder) 2 timmar 1 sekund
echo date("Y-m-d H:i:s", $tid);
echo "<br>";
$tid=time(); // aktuell tid som timestamp
echo date("Y-m-d H:i:s", $tid);
?>
$tid är i det här fallet ett timestamp.
I Mysql är timestamp en annan sak. TIMESTAMP(14) uttrycks t.ex. YYYYMMDDHHMMSS.
för det var någon som tipasade mig åm att använda timestamp i min mysql databas att efter regestreringen så måste personen inom en timme anmäla sig på ett ställe....med en regestrations länk... hur skulle då denna scriptbit se ut?
Själv är jag en sopa på Mysql men man kunde prova något i denna (nedan) stilen för att bekräfta registreringen.
Fältet regtid lagrar timestamp för när registreringen var och fältet anmalt har 1 om man anmält sig och 0 om man inte anmält sig.
$regid hämtar du från querystring i länken.
$query = "SELECT *,UNIX_TIMESTAMP(regtid) AS oldtid FROM tabell WHERE regid=$regid";
$result = mysql_query($query);
if (mysql_num_rows($result)>0){
$row = mysql_fetch_array($result);
if ((time()-$row['oldtid'])>3600 && row['anmalt']==0){
echo "Din tid är ute";
} else {
// gör något, t.ex sätter anmalt till 1
}
} else {
echo "Fanns inte registrerad";
}
Har tyvärr inte tid att bygga upp en tabell för att testa, så det finns säkert ett antal fel eller tankegrodor. Men det ger dig kanske en idé på hur du kan lösa det. :)
tackar! ja ska kolla upp om allt stämmer nu