Время вывода - запись DateTime - PullRequest
0 голосов
/ 06 августа 2009

Связанный:

Это продолжение моего предыдущего вопроса, Неправильная логика в операторе If?

$repeat_times = mysql_real_escape_string($repeat_times);

$result = mysql_query("SELECT `code`,`datetime` FROM `fc` ORDER by datetime desc LIMIT 25") or die(mysql_error());

$output .="";
$seconds = time() - strtotime($fetch_array["datetime"]);

if($seconds < 60)
  $interval = "$seconds seconds";
else
 if($seconds < 3600)
     $interval = floor($seconds / 60) . " minutes";
else
    if($seconds < 86400)
         $interval = floor($seconds / 3600) . " hours";
    else
         $interval = floor($seconds / 86400) . " days";

while ($fetch_array = mysql_fetch_array($result)) {

    $fetch_array["code"] = htmlentities($fetch_array["code"]);
    $output .= "<li><a href=\"http://www.***.com/?code=" . htmlspecialchars(urlencode($fetch_array["code"])) . "\" target=\"_blank\">" . htmlspecialchars($fetch_array["code"]) . "</a> (" . $fetch_array["datetime"] . ") </li>";


}

$output .="";

return $output;

Хорошо, исправлена ​​последняя проблема. Теперь он просто выводит функцию [DateTime], когда я хочу, чтобы она выводила:

LINK (5 Seconds Ago)
LINK (1 Minute Ago)
etc.

Это делает: janice (2009-08-05 14:02:01)

Пожалуйста, посоветуйте?

1 Ответ

1 голос
/ 06 августа 2009

Вы выполняете вычисления вне цикла. Переместите его внутрь цикла, например:

$result = mysql_query("SELECT `code`,`datetime` FROM `fc` ORDER by datetime desc LIMIT 25") or die(mysql_error());
$output = "";

while ($fetch_array = mysql_fetch_array($result))
{
    $code = htmlentities($fetch_array["code"]);

    $seconds = time() - strtotime($fetch_array["datetime"]);
    if($seconds < 60)
        $interval = "$seconds seconds";
    else if($seconds < 3600)
        $interval = floor($seconds / 60) . " minutes";
    else if($seconds < 86400)
        $interval = floor($seconds / 3600) . " hours";
    else
        $interval = floor($seconds / 86400) . " days";

    $output .= "<li><a href=\"http://www.***.com/?code=" . urlencode($code) . "\" target=\"_blank\">$code</a> ($interval) </li>";
}

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