webForumDet fria alternativet
Logga in / Bli medlem

Time stamp

PHP

1 svar · 154 visningar · startad av U2K

Medlem sedan jan. 2000224 inlägg
Frågan#1
$date=$row->time_date;
$now = time();
$int = ($now - $date);
if ($int < (60*60*24)){
$daysprune = " Idag ";}
if ($int <= (60*60*24*3)){
$daysprune= " Äldre än 2 dagar gammalt ";}
if ($int <= (60*60*24*2)) {
$daysprune= " Igår ";}

Detta verkar funka men när inlägget är mindre än en dag så blir det Igår... Varför?

Medlem sedan aug. 200021 inlägg
#2

För att alla dina tre ifsatser är sanna.
$int är först mindre än (60*60*24) och tilldelas "Idag", men det är också mindre än (60*60*24*3) och likaså mindre än (60*60*24*2)..så därför blir alla $daysprune alltid vad den sista ifsatsen säger...

Testa följande istället !

$int = ($now - $date);
if ($int >= (60*60*24*3))
{
 $daysprune= " Äldre än 2 dagar gammalt ";
}
else if ($int >= (60*60*24*2) && $int <(60*60*24*3) )
{
 $daysprune= " Igår ";
}
else 
{
 $daysprune = " Idag ";
}

Kan inte lova att alla ifsatser är helt rätt, jag är väldigt trött nu, men något i denna stilen ska det vara !

/Staffan

253 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)