我的表格中有以下列: birth_year,birth_month,birth_day
表中的示例数据是
birth_year birth_month birth_day
1996 April 1
我只需要了解用户的年龄。
它不需要准确。 我只需要减去今天的年份和他/她的birth_year
示例:
他的出生年份是1996年
,今天的日期是2015年
if($row = mysqli_fetch_assoc($query_run)
{
$birth_day = $row['birth_year']; //data from the database which equals to 1996
$today = date("Y"); //year today
$age = $today - $birth_day; //age of this user
echo $age; //this should output 19
}
我的问题上面的$age
变量回显了空白或空值。
以下是可能与我的问题相似的来源:
我的问题与我之间的区别在于我无法遵循DateTime
的格式,因为我的注册表格看起来像这样。
答案 0 :(得分:2)
尝试使用
$age = intval( $today ) - intval( $birth_day );
同时检查你的mysql查询是否返回你期望的内容(你没有提供它,所以很难检查)。
答案 1 :(得分:0)
尝试使用datetime:
if($row = mysqli_fetch_assoc($query_run){
$birth_day = $row['birth_year'];
$bday = new DateTime($birth_day);
$today = new DateTime(date("Y"));
$age = $today->diff($bday);
echo $age->y;
}