La gestion de la date

Résolu
smsagnon Messages postés 15 Statut Membre -  
smsagnon Messages postés 15 Statut Membre -
Bonjour communauté,

dans un formulaire d'inscription la date de naissance est en trois champs distinct (jour,mois,année)...j'en ai fait de meme et enregistre chacun de ces donnee dans des colones different dans ma base de donnee(mysql), maitenant j'aimerais savoir comment se fait les calcul pour obtenir, le jours anniversaire?? pouvez vous m'aidez?

1 réponse

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,


    la date de naissance est en trois champs distinct (jour,mois,année)

    Heu .... Pourquoi faire ?????
    Il existe, dans les BDD .. un champ de type DATE .... c'est fait pour (...suspens....et roulement de tambour......) ... stocker des dates ...!!!

    Et avant que tu ne me dises ... mais oui mais c'est plus simple pour trouver le mois et ou le jour et ou l'année comme ça..... je te répond ... Non !
    En SQL tu as des fonctions qui servent à ça ... YEAR ... MONTH ... DAY ...
    Qui servent justement à retourner l'année , le mois, je jour .. d'une date.

    Par exemple :
     SELECT YEAR(monchampDate) as annee
     FROM matable
    

    te donnera l'année des dates contenues dans la table.


    maitenant j'aimerais savoir comment se fait les calcul pour obtenir, le jours anniversaire

    Ben... tu connais le jour .... tu connais le mois .... tu as donc toutes les infos.
    Tu es donc en mesure (vu que ta question est sûrement celle la même si tu ne l'a pas correctement rédigé...) de savoir si une date présente dans la table est égale à aujourd'hui (ou si une date précise ..est égale à aujourd'hui)...

    Si tu bloques sur quelque chose, et après avoir corrigé ton erreur de mettre la date en 3 morceaux... reviens nous voir avec le code tenté qu'on essaye de trouver ton erreur.

    0
    1. smsagnon Messages postés 15 Statut Membre
       
      merci pour la reponse, mais j'ai pas bien compris, avant j'enregistrai dans des champs diffrent::j'illustre

      <select name="jour">
      //code option jour
      </select>

      <select name="mois">
      //code option mois
      </select>

      <select name="annee">
      //code option annee
      </select>

      alors la je me retrouve avec $_POST[jour], $_POST[mois], $_POST[annee];
      avnt j'enregistrait ces donnes dans des champs différents et maintenant
      ma question: comment je vais inserer ces trois info ds le meme champ date dans MySQL..??? merci pour l'attention vous m'accrordez
      0
    2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       

      comment je vais inserer ces trois info ds le meme champ date dans MySQL

      En faisant de la concaténation
      $annee = isset($_POST['annee']) ? $_POST['annee'] : '';
      $mois= isset($_POST['mois']) ? $_POST['mois'] : '';
      $jour= isset($_POST['jour']) ? $_POST['jour'] : '';
      
      $date = $annee . "-" . $mois ."-". $jour;
      
      $sql = "INSERT INTO tatable (champdate) VALUES ('$date');
      
      0
    3. smsagnon Messages postés 15 Statut Membre
       
      ah cool merci bocoup,,tu m'aide enormement
      0