2012-12-07 4 views
0

안녕하세요 전 사이트에 사용자가 표시된 사이트가 있습니다. 사용자가 사이트에 가입하면 생년월일로 가입합니다. 이것은 내 데이터베이스에 저장됩니다.출생부터 표시 나이?

데이터베이스에서 사용자를 가져 와서 위치와 이름을 표시하도록했습니다.

또한 생년월일에서 계산 한 나이를 추가하려고합니다. 그러나 작동하지 않는 순간에는 사용자 나이가 표시되지 않습니다.

어디에서 내가 잘못 될 수 있습니까?

코드 : 난 당신이 사용하고 무엇 allowd하고 무엇을하지 ...하지만 일반적으로 가장 쉬운 방법은 가장 적합한 템플릿 엔진 몰라요

<?php 
$dob = $platinum['dob']; 

function age_from_dob($dob) { 

    list($y,$m,$d) = explode('-', $dob); 

    if (($m = (date('m') - $m)) < 0) { 
     $y++; 
    } elseif ($m == 0 && date('d') - $d < 0) { 
     $y++; 
    } 

    return date('Y') - $y; 

} 

$dob = age_from_dob($dob); 

?> 

<? 

     $platinum_set = get_platinum_users(); 
     while ($platinum = mysql_fetch_array($platinum_set)) { 
      echo" 
      <div class=\"platinumcase\"> 
      <a href=\"profile.php?id={$platinum['id']}\"><img width=80px height= 80px src=\"data/photos/{$platinum['id']}/_default.jpg\" class=\"boxgrid\"/></a><h58> {$platinum['first_name']} {$platinum['last_name']}</h58><br/><br/><h52>{$platinum['$dob']}<br/><br/>{$platinum['location']}</h52> 

      </div>"; 
     } 
    ?> 
+0

도움이되기를 바랍니다?> RonaldBarzell

+1

당신은 인 문 경우 처음에 $ 분을 할당하고 가능성이있다. 하나가 아닌 두 개의 등호로 바꾸십시오. – nickb

답변

0
function age_from_dob($dob) { 
    return DateTime::createFromFormat('Y-m-d',$dob, $tz)->diff(new DateTime('now', $tz))->y; 
} 
+1

예제 코드가 도움이되는 동안,이 응답은이지 않는다. 이 코드의 기능, 작동 방법 또는 도움이되는 방법을 설명하지 못했습니다. – Charles

1

... 그래서이

<?php 
$dob = $platinum['dob']; 

function age_from_dob($dob) { 

     $dob = '1999-12-03'; 
     $age = date_diff(date_create($dob), date_create('now'))->y; 
     return $age; 
} 

?> 

<? 

     $platinum_set = get_platinum_users(); 
     while ($platinum = mysql_fetch_array($platinum_set)) { 
     $age = age_from_dob($platinum['dob']); 
      echo " 
      <div class=\"platinumcase\"> 
      <a href=\"profile.php?id={$platinum['id']}\"><img width=80px height= 80px src=\"data/photos/{$platinum['id']}/_default.jpg\" class=\"boxgrid\"/></a><h58> {$platinum['first_name']} {$platinum['last_name']}</h58><br/><br/><h52> ".$age." <br/><br/>{$platinum['location']}</h52> 

      </div>"; 
     } 
    ?> 
시도
+0

각 개별 플래티넘 사용자에게 표시되도록 div에 어떻게 추가할까요? –

+0

감사하지만 내가 구문 오류가 발생합니다. –

+0

죄송합니다 ... 실제로 나는 그것을 테스트하지 못했습니다. 당신의 출력에서 ​​age_from_dob ($ platinum [ 'dob'])의 결과를 올바르게 사용했는지 확인하십시오.이 마지막 편집이 가능한 또 다른 가능한 방법은 – Mik

0

이 기능을 사용하여 내 사용자의 나이를 반환합니다. 이 대신에 당신의 또 다른 세트를해야 할 때 에코을 사용하고있는 것 같습니다

function HowOld($DOB) 
    { 
      if($DOB) 
        { 
       $birthday = strtotime($DOB); 
       $date = strtotime(date("Y-m-d ")); 
       $difference = $date - $birthday; 
       $years = $difference/(60 * 60 * 24 * 365); 
       $value = floor($years); 
       return $value; 
      } 
     return false; 
    } 
관련 문제