2010-08-02 115 views
2

我已经存储在MySQL表如下出生日期数据:需要帮助:日期格式

 
id firstname middlename lastname birth 
--------------------------------------------- 
1 Harry  Chandra Sihombing 1999-12-14 
2 Janice Mona  Sihombing 2010-04-20 
. ...  ...  ...  ... 

如何创建一个搜索功能来收集从表中的数据,并限制输出到行"where age > 25"(和/或其他功能使用">"(较大)"="(等于)。

回答

0

也许这样的事情与DATE_SUB

SELECT * FROM people WHERE DATE_SUB(NOW(),INTERVAL 25 YEAR) > birth 

在PHP中:

$age = (int)$_POST['age']; 
$sql = "SELECT * FROM people WHERE DATE_SUB(NOW(),INTERVAL $age YEAR) > birth"; 
+0

谢谢你,你的脚本做对。但我想使用通过字段搜索传递的数字区间表单变量。 – Chandra 2010-08-02 08:45:59

+0

我不知道我关注... – Ties 2010-08-02 08:50:09

+0

脚本变成: DATE_SUB(NOW(),INTERVAL $ search YEAR) Chandra 2010-08-02 09:08:47

0

这里有一个提示:

SELECT NOW(), 
    DATE(NOW()), 
    DATE_SUB(NOW(), INTERVAL 25 YEAR), 
    DATE(DATE_SUB(NOW(), INTERVAL 25 YEAR))