2010-08-02 9 views
2

J'ai données de date de naissance stockées dans le tableau Mysql comme ci-dessous:Besoin d'aide: Format Date

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

Comment puis-je créer une fonction de recherche pour recueillir des données de la table et de limiter la sortie aux lignes "where age > 25" (et/ou toute autre fonction à l'aide ">" (plus) "=" (égale).

Répondre

0

peut-être quelque chose comme ça avec DATE_SUB

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

en php:

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

Merci, votre script en train de faire. mais je veux utiliser la variable de forme d'intervalle de nombre passant par la recherche de champ. – Chandra

+0

je ne suis pas sûr que je suis ... – Ties

+0

le script devient: DATE_SUB (MAINTENANT(), INTERVAL $ search YEAR) Chandra

0

Voici un indice:

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