|
|
|
|
Bonjour,
Je débute en tant que webmaster et j'ai, tant bien que mal, pu résoudre certains problèmes.
Notamment sur le calcul de l'age en tenant compte de la date de naissance compilée dans une base de donnée.
Grâce à un script en php, j'ai pu obtenir l'âge.
Ainsi se retrouve dans un tableau la date de naissance (grâce à une requête mysql) et l'âge (grâce au script php).
Le problème se trouve sur le tri de mes annonces (site de ventes d'animaux).
Comment faire dans ma requête pour que grâce à un lien l'internaute puisse visualiser UNIQUEMENT sur une page les animaux âgés de -de 3 mois (par exemple).
Dans ma requête aucun problème pour trier ou n'avoir que certaines dates de naissances mais pour l'âge c'est autre chose (script php et aucun lien avec la BDD si ce n'est un calcul entre la date de naissance et celle d'aujourd'hui) ... et c'est naturellement ce paramètre, l'âge, qui m'intéresse.
Merci encore à vous toutes et tous pour votre aide.
Configuration: Windows XP Internet Explorer 6.0
Bonsoir, ce qui est faisable dans ton cas, est de faire en sorte dans ta requete de calculer l'âge
SELECT catégorie, race, nom, date_de_naissance FROM animaux WHERE DATEDIFF( date_de_naissance, CURDATE()) > (365 * X); ici X est le nombre d'années, car DATEDIFF donne la différence entre deux dates, en jours. A toi de bien calculer après. p.s : pour bien fonctionner il faut que ta date soit du type YYYY-MM-DD (AAAA-MM-JJ) L'ennemi est bête : il croît que c'est nous l'ennemi, alors que c'est lui ! GLOUGLOU ... |
Bonsoir et merci pour la rapidité de la réponse,
|
Bonsoir et encore merci du temps consacré à mon problème,
|
Bonsoir,
|
Tu t'es assuré qu'il y avait bien des betes correspondant a ta sélection ??
$query="select annee, mois, jour from ".$table_annonces." where DATEDIFF( ' ".$annee."-".$mois."-".$jour." ', CURRENT_DATE()) < '90' and race=' ".$race." ' and (etat='MISE EN LIGNE' and sexe='FEMELLE')"; $select=mysql_query($query); while ($i=mysql_fetch_array($select)) si ca ne marche pas, enlève les espaces dans la date diff, c'est à dire mettre ca DATEDIFF( '".$annee."-".$mois."-".$jour."', CURRENT_DATE())L'ennemi est bête : il croît que c'est nous l'ennemi, alors que c'est lui ! GLOUGLOU ... |
http://www.devkb.org/sql/43-Calculer-l-ge-d-une-personne-dans-une-requete-MySQL
|