2014-09-18 3 views
0

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(); 
?> 
+1

는 – Yang

답변

2

$cur_time에 포함 된 문자열 아니다 숫자. 그것을 사용하기 전에 유닉스 타임 스탬프로 변환해야 할 것 같습니다. 그래서 date() 대신 time()를 사용

$cur_time = time(); 

을 (이 $time_ago 가정한다 또한 유닉스 타임 스탬프입니다)

+0

당신에게 너무 많은 사람을 감사 관련이없는 코드의 무리를 제거하십시오 –