我希望能够在年龄之后搜索用户:
(Age input saved in variables $a1 - $a2)
Age: □ - □
-Search button-
如果我选择年龄:20-50我希望列出20-50岁之间的所有用户。 如果我选择年龄:x-30我希望列出所有30岁以下的用户。
在db中,我使用以下格式保存用户生日:2013-03-03。
要计算用户年龄并在网页上回显年龄,我会这样做:
<?php
$ag=$row['age'];
$diff=time()-strtotime($ag);
$age=date('Y-m-d', strtotime($ag));
echo floor($diff/60/60/24/365.25);
?>
如何制作选择查询年龄&gt; $ a1和&lt; $ A2吗
答案 0 :(得分:1)
您应该从所需年龄计算日期
,而不是从返回日期计算年龄$mindate = is_numeric($a2)? date("Y-m-d", strtotime('-$a2 year')) : null;
$maxdate = is_numeric($a1)? date("Y-m-d", strtotime('-$a1 year')) : null;
$query = "SELECT * FROM whatevertable WHERE ";
if(!is_null($mindate))
$query .= "datecolumn > '$mindate'";
if(!is_null($maxdate)){
if(!is_null($mindate)
$query .= " AND ";
$query .= "datecolumn < $maxdate";
}
验证和查询抛光留作练习。