2013-07-11 6 views
2

회원들의 평균 연령을 만들고 싶습니다. 나는 이미 모든 생년월일의 배열을 얻을 수 있었고 생일을 계산할 수있는 쉬운 방법을 발견했다. 그러나 나는 그것을 결합 할 수 없다.회원들의 평균 연령 계산 (PHP)

내 '생년월일'- 배열 :

$results = array(); 

$dob_array = mysqli_query($conn, "SELECT dob_array FROM members"); 

    while($row = mysqli_fetch_assoc($dob_array)){ 
     $results[] = $row; 
    } 

세의 계산 : 내 나이 배열의

$today = new DateTime(); 
$birthdate = new DateTime("1991-01-01"); 
$interval = $today->diff($birthdate); 
echo $interval->format('%y years'); 

계산 평균 :

$average = array_sum($array)/count($array); 
+3

그리고 당신은 오류를 받고 next.Are 어떻게됩니까? –

답변

5

수 있습니다 직접 SQL (TIMESTAMPDIFF()AVG() 함수 사용) :

SELECT AVG(TIMESTAMPDIFF(YEAR, `dob`, NOW())) as `average` FROM `member`; 
+1

더 정확한 결과를 얻고'DAY'의'interval'을 사용하고 365로 나누십시오.'AVG (TIMESTAMPDIFF (DAY,'date_of_birth', NOW())/365)'. –

+0

@BrettSantore Noted. – BlitZ

0

이 수있는 하나

SELECT AVG(DOB_COLUMN_NAME) from TABLE NAME 
+0

이렇게하면 나이가 아닌 평균 생년월일이됩니다. – Bun