PHP를 사용하여 일부 시간 기능을 표시하려고합니다. 나는 "aplicationdate"라는 형식의 컬럼 이름이있는 MySQL 데이터베이스 테이블에서 결과를 반복합니다. "Ymd"데이터베이스에 있습니다. 그러나 단지 -16328과 같은 부정적인 큰 숫자를 보여줍니다. 여기에 내 timeago 파일 어떤 도움을 크게 감상 할 수있다 :PHP 루프에서이 timeAgo 기능을 구현할 수 없습니다.
<? php
function timeAgo($time_ago) {
$cur_time = date('Y-m-d');
$time_elapsed = $cur_time - $time_ago;
$days = round($time_elapsed/86400);
$weeks = round($time_elapsed/604800);
$months = round($time_elapsed/2600640);
$years = round($time_elapsed/31207680);
//Days
if ($days <= 7) {
if ($days == 1) {
echo "yesterday";
} else {
echo "$days days ago";
}
}
//Weeks
else if ($weeks <= 4.3) {
if ($weeks == 1) {
echo "a week ago";
} else {
echo "$weeks weeks ago";
}
}
//Months
else if ($months <= 12) {
if ($months == 1) {
echo "a month ago";
} else {
echo "$months months ago";
}
}
//Years
else {
if ($years == 1) {
echo "one year ago";
} else {
echo "$years years ago";
}
}
}
?>
를 그리고 여기가 다른 파일이라는 profile.php에서 구현 어떻게되면, TIMEAGO 파일이 하나
<? php
$mysqli = new mysqli("localhost", "root", "", "cx");
/* check connection */
if ($mysqli - > connect_errno) {
printf("Connect failed: %s\n", $mysqli - > connect_error);
exit();
}
$idced_history = $_GET['idced'];
$query = "SELECT * FROM applications WHERE idced='$idced_history'";
if ($result = $mysqli - > query($query)) {
while ($row = $result - > fetch_assoc()) {
$curenttime = $row["applicationdate"];
$time_ago = strtotime($curenttime);
echo "<br><b>Applied On:</b> ".$row["applicationdate"]." ".timeAgo($time_ago)." <br>";
}
$result - > free();
}
$mysqli - > close();
?>
는 – Yang