各ページのリクエストで最後のアクティビティが更新されます。
<?php
mysql_query("UPDATE users SET lastactivity = ".time()." WHERE id = ".$userID);
は、彼らがオンライン最後にいたとき、ちょうどデータベースから自分のlastactivityフィールドを選択して表示し表示することrelativeTime()
は、私が使用してきた機能である
<?php
$activity = mysql_result(mysql_query("SELECT lastactivity FROM users WHERE id = ".$userID), 0);
echo "Last activity: ".relativeTime($active);
:
function relativeTime($time, $short = false){
$SECOND = 1;
$MINUTE = 60 * $SECOND;
$HOUR = 60 * $MINUTE;
$DAY = 24 * $HOUR;
$MONTH = 30 * $DAY;
$before = time() - $time;
if ($before < 0)
{
return "not yet";
}
if ($short){
if ($before < 1 * $MINUTE)
{
return ($before <5) ? "just now" : $before . " ago";
}
if ($before < 2 * $MINUTE)
{
return "1m ago";
}
if ($before < 45 * $MINUTE)
{
return floor($before/60) . "m ago";
}
if ($before < 90 * $MINUTE)
{
return "1h ago";
}
if ($before < 24 * $HOUR)
{
return floor($before/60/60). "h ago";
}
if ($before < 48 * $HOUR)
{
return "1d ago";
}
if ($before < 30 * $DAY)
{
return floor($before/60/60/24) . "d ago";
}
if ($before < 12 * $MONTH)
{
$months = floor($before/60/60/24/30);
return $months <= 1 ? "1mo ago" : $months . "mo ago";
}
else
{
$years = floor ($before/60/60/24/30/12);
return $years <= 1 ? "1y ago" : $years."y ago";
}
}
if ($before < 1 * $MINUTE)
{
return ($before <= 1) ? "just now" : $before . " seconds ago";
}
if ($before < 2 * $MINUTE)
{
return "a minute ago";
}
if ($before < 45 * $MINUTE)
{
return floor($before/60) . " minutes ago";
}
if ($before < 90 * $MINUTE)
{
return "an hour ago";
}
if ($before < 24 * $HOUR)
{
return (floor($before/60/60) == 1 ? 'about an hour' : floor($before/60/60).' hours'). " ago";
}
if ($before < 48 * $HOUR)
{
return "yesterday";
}
if ($before < 30 * $DAY)
{
return floor($before/60/60/24) . " days ago";
}
if ($before < 12 * $MONTH)
{
$months = floor($before/60/60/24/30);
return $months <= 1 ? "one month ago" : $months . " months ago";
}
else
{
$years = floor ($before/60/60/24/30/12);
return $years <= 1 ? "one year ago" : $years." years ago";
}
return "$time";
}
何を試しましたか?スタックオーバーフローは、特定の質問に使用する必要があります。代わりにgoogleを使用する必要があります。 – evasilchenko
私はまだそれを試してみた、私はちょうどそれを行うには、より速い方法が欲しい。私のスクリプトは長すぎるだろう。 –