I'd probably out how many minutes it's been, then format it using if statements.

$iMinues = (value from database);
if(1 > $iMinutes) $sLastseen = 'Less than a minute ago!';
elseif(1 == $iMinutes) $sLastseen = '1 minute ago';
elseif(60 > $iMinutes) $sLastseen = "{$iMinutes} minutes ago";
elseif(120 > $iMinutes) $sLastseen = '1 hour '.($iMinutes - 60).' minutes ago';
...

I don't think there is any real shortcut for doing this kind of thing, though I could be wrong.

Chris

Ryan A wrote:

Hi,
In one of our tables we have these fields:

cust_no bigint(20),
cust_name varchar(30),
last_online datetime,

and in that members profile, if someone visits it, on the top of the page we
have this:

// connect to db, query for record and display it below
Last seen: <?php echo $last_online; ?>

Any ideas on the simplest way to make it look like this:

Last seen: Less than a minute ago!

Last seen: 25 mins ago

Last seen:  2 hours 11 mins ago

Last seen: 1 (or 2 or 3) day/s ago

else{ echo $last_seen; }



I have seen this done on a few sites (Swedish sites actually, I can give you
the URLs if you need them)

I think it looks much better than:
Last seen : 2005-09-07 20:59:01


Thanks!
Ryan


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to