активность за прошедший час - PullRequest
       15

активность за прошедший час

0 голосов
/ 22 сентября 2009

Я пытаюсь понять, были ли пользователи активны в течение последнего часа.Ниже приведен мой код, но он всегда возвращает yes, несмотря ни на что:

$houraway = (int)mktime() + (60 * 60);
$now = mktime();

while($user = mysql_fetch_array($qusers))   {
    echo $user['Name']." - ";
    $datetime = explode(" ", $user['Custom6']);
    $date = $datetime[0];
    $date = explode("-", $date);
    $time = $datetime[1];
    $time = explode(":", $time);
    $hr = $time[0];
    $min = $time[1];
    $sec = $time[2];
    $y = $date[0];
    $m = $date[1];
    $d = $date[2];
    $lastloginmk = (int)mktime($hr, $min, $sec, $m, $d, $y);
    echo " - ".$lastloginmk;
    if($lastloginmk <= $houraway) { echo "yes"; } else { echo "no"; }
    echo "<br />";
}

время последней активности сохраняется в базе данных следующим образом:

2009-09-22 13:32:28

Заранее спасибо!

Райан

Ответы [ 2 ]

1 голос
/ 22 сентября 2009

Я думаю, что код, который вы хотите:

$hourago = mktime() - (60 * 60);

while($user = mysql_fetch_array($qusers))   {
    echo $user['Name']." - ";
    $lastloginmk = strtotime($user['Custom6']);
    echo " - ".$lastloginmk;
    if($lastloginmk <= $hourago) { echo "yes"; } else { echo "no"; }
    echo "<br />";
}

Надеюсь, это поможет.

1 голос
/ 22 сентября 2009

Линия

$houraway = (int)mktime() + (60 * 60);

смотрит в будущее на час. Последний вход в систему всегда будет раньше, чем в будущем, потому что последний вход в систему должен быть в прошлом.

Я думаю, вы хотели бы, чтобы при последнем входе в систему превышало за час до сейчас. Измените $houraway и измените свое последнее сравнение, и вам будет хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...