IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Utilisation de la fonction substr [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de menoulette
    Inscrit en
    Août 2009
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 320
    Par défaut Utilisation de la fonction substr
    Slt,
    je souhaite afficher l'age a partir de la date de naissance stockées dans la base de données,j'ai utilisé une fonction qui calcule l'age à partir de la date de naissance:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
     
    //calcule de l'age
    	$date_naiss=$repo['date_naissance'];
    function Age($date_naissance)
    {
     $age=0;
     $jourNais=substr($date_naissance, 0, 1);
     $moiNais=substr($date_naissance, 2, 3);
     $anNais=substr($date_naissance, 5, 8);
     $jour=date('d');
     $moi=date('m');
     $annee=date('Y');
     $age=$annee-$anNais;
      if($moiNais<$moi)
       $age++;
      elseif($moiNais==$moi)
      {if($jourNais<=$jour)
         $age++;
       }
       echo $jourNais; echo $moiNais;echo $anNais;
       return $age;
    }
    	$age=Age($date_naiss); echo '('.$age.'ans).';
     
    	?>

    mais y'a un problème dans la fonction substr je sais pas que dois -je lui donner comme paramètre,sachant que ce code affiche le jou et le mois juste mais l'années erronée
    (DATE DE NAISSANCE:2005-01-01205-01-01(2009ans). )
    que dois-je faire??
    j'attends vos réponses avec impatiance
    Merci,

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    a quelle format est ta date d'entrée ?
    Avec une date jj/mm/aaaa ton code actuel ca ne va pas du tout même pour le jour ou le mois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     $jourNais=substr($date_naissance, 0, 2);
     $moiNais=substr($date_naissance, 3, 2);
     $anNais=substr($date_naissance, 6, 4);
    mais avec explode c'est encore plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     list($jour, $mois, $annee) = explode('/', $date_naissance);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé Avatar de menoulette
    Inscrit en
    Août 2009
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 320
    Par défaut
    Resalut,
    Ma date de naissance est de type aaaa-mm-jj ,je sais pas quoi faire???

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    je sais pas quoi faire???
    La il n'y a que toi qui peut repondre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    pour un format aaaa-mm-jj
    list($annee, $mois, $jour) = explode('-', $date_naissance);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé Avatar de menoulette
    Inscrit en
    Août 2009
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 320
    Par défaut
    Mais le problème c'est que ce code dans la partie substr pour l'année il lit pas toute la chaine année quand je lui dit d'afficher la date qui la prend en paramétre c'est cette date 193-5-01 au lieu de 1983-5-01 alors c'est pour ca dans l'age ca donne (2004 ans) le probléme est dans l'année ???et dans la fonction substr?????

  6. #6
    Membre éclairé Avatar de menoulette
    Inscrit en
    Août 2009
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 320
    Par défaut
    éééh oui c'est vrai micetf ..ton code fonctionne trés bien,merci beaucoup et merci pour sabtage d'avoir m'aider,

  7. #7
    Membre émérite Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Par défaut
    La fonction substr est expliquée ici.
    Ce qui fait pour une date du type aaaa-mm-jj :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $jour=substr($date_naissance, 8, 2);
    $mois=substr($date_naissance, 5, 2);
    $annee=substr($date_naissance, 0, 4);
    ou alors avec list et explode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list($annee, $mois, $jour) = explode('-', $date_naissance);
    Fred

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [9.2] Utilisation d'un regex dans la fonction substring()
    Par stanmaniaq dans le forum Requêtes
    Réponses: 3
    Dernier message: 22/08/2014, 15h47
  2. Utilisation de la fonction de déploiement
    Par mchicoix dans le forum XMLRAD
    Réponses: 4
    Dernier message: 01/03/2005, 14h35
  3. [LG]Utilisation de la fonction Random
    Par chloe95 dans le forum Langage
    Réponses: 1
    Dernier message: 01/03/2005, 14h20
  4. Utilisation de la fonction qsort
    Par Jsmeline dans le forum C
    Réponses: 8
    Dernier message: 28/01/2005, 12h40
  5. [LG]librairies : utiliser seulement quelques fonctions
    Par wwwroom dans le forum Langage
    Réponses: 13
    Dernier message: 14/05/2004, 22h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo