Date SQL

Résolu
Bonjour
Je recherche à afficher la date des membres dont l'age est plus petit que 16 ans.
J'ai une table ou le champ est "naissance" j'affiche sans problème tous les membres.
Je n'arrive pas à comprendre comment je pourrais faire.
J'ai essayé quelque chose du style
	$sql = "SELECT *
			FROM tb_adherent
			WHERE DATE(naissance)<=16
			AND actif = 1
			ORDER BY nom, prenom ASC";
	$requete = $bdd->prepare($sql);							
	$requete->execute();

Pouvez-vous s'ils vous plait m'aider un peu.
Je vous remercie

6 réponses

  1. Contributeur
    Bonjour
    qu'il y a t'il dans le champ "naissance" ? date de naissance, age, etc ?
    0
    1. Bonjour et merci
      Dans mon champ 'naissance' c'est de type date par exemple 2000.11.03
      mais j'ai une fonction qui permet de mettre cette date en français
      03 novembre 2000

      Merci de votre aide
      0
      1. j'ai essayé ça pouvez-vous m'aider s'ils vous plait.
        je récupére récupérer la date courante
        et je soustrais la date de mon champ de ma BDD

        Merci
        	$sql = "SELECT nom, prenom, CURRENT_DATE() - DATE(naissance)
        			FROM tb_adherent
        			WHERE DATE(naissance) <= 16
        			AND actif = 1
        			ORDER BY nom, prenom ASC";
        	$requete = $bdd->prepare($sql);							
        	$requete->execute();
        
        0
        1. Contributeur
          Jordane 45 t'a fourni une proposition
          la fonction date ne te donne pas l'age !!!
          si tu considères l'age "dans l'année", il faut faire l'a différence entre l'annéée en cours et l'année de naissance
          en algo:
          Age := annee(aujourdhui)-annee(naissance)
          0
      2. Bonjour
        Merci beaucoup à vous tous qui m'avez aidé, j'ai pu mettre en place ma requète qui me retourne bien les éléves qui ont moins de 16 ans.
        Voici pour ceux à qui ça peut aider.
        	$sql = "SELECT nom, prenom, ville, naissance, Year(CURDATE())-Year(naissance) 
        			FROM tb_adherent
        			WHERE ((Year(CURDATE())-Year(naissance)) <= 16)
        			AND actif = 1
        			ORDER BY nom, prenom ASC";
        	$requete = $bdd->prepare($sql);							
        	$requete->execute();
        
        0