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

Langage PHP Discussion :

saisie champ date


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 85
    Par défaut saisie champ date
    Bonjour à tous,

    j'ai un problème avec mon champ date.

    En effet, l'utilisateur doit saisir une date de naissance (comme ci_dessous) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <tr>
       <td>Date de naissance : </td>
     
       <td><input type="text" name="dateNaissance" 
       value="<?php if(isset($o_nageur)){echo date('m/d/Y',        $o_nageur->dateNaissance);}?>"/>
     (Format jj/mm/aaaa)
      </td>
    </tr>


    Mon problème, c'est que lors du résultat, l'affichage est erroné.
    C'est erroné en fonction du mois choisi.
    Par exemple,
    - si le mois est "10", il va retourner le mois "12" avec l'année-1,
    - si le mois est "11", il va retourner le mois "01" comme ci il ne considérait pas le premier chiffre,
    - si le mois est "12", il va retourner le mois "02"
    etc...




    Si vous avez rencontré le même problème ou si vous pensez m'aider, merci d'avance

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2007
    Messages : 282
    Par défaut
    Bonjour

    Peux-tu me dire ce que t'affiche: $o_nageur->dateNaissance

    Ensuite, essaie de remplacer ceci date('m/d/Y', ...) par date('j/n/Y', ....).

    Personnellement, je pense que le problème vient de cette récupération de valeur: $o_nageur->dateNaissance.

    N'hésite pas à me répondre pour que je t'aide.
    lemirandais

  3. #3
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 420
    Par défaut
    Citation Envoyé par lechtinico Voir le message
    Bonjour à tous,

    j'ai un problème avec mon champ date.

    En effet, l'utilisateur doit saisir une date de naissance (comme ci_dessous) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <tr>
       <td>Date de naissance : </td>
     
       <td><input type="text" name="dateNaissance" 
       value="<?php if(isset($o_nageur)){echo date('m/d/Y',        $o_nageur->dateNaissance);}?>"/>
     (Format jj/mm/aaaa)
      </td>
    </tr>
    Il y a une incohérence dans ton script : si tu demande une date au format jj/mm/aaaa il faudrait l'afficher au format date('d/m/Y', $timestamp_date_naissance); et nom pas date('m/d/Y', $timestamp_date_naissance);

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 85
    Par défaut
    C'est exact ABCIWEB, j'avais oubli d'enlever ma modif, enfin bref je veux bien obtenir le format jj/mm/aaaa.


    echo $o_nageur->dateNaissance m'affiche la date en format timestamp.

    Dans mon exemple du 10/10/1997, $o_nageur->dateNaissance m'affiche: 850215600

    Je préfère obtenir le résultat sous forme numérique pour mieux traiter les dates dans ma base de données.


    J'ai essayer le format ('n/j/Y', ....) sans succès


    j représente le mois sans les zéros initiaux: "1" à "31" , mais que représente le n ???


    en tout cas merci beaucoup de votre patience

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 85
    Par défaut
    Je viens de tester le format ('d/j/Y', ....)

    et là j'ai réglé mon problème avec le mois mais pas celui de l'année -1 on avance tout doucement ^^


    exemple : je saisie 10/10/1997 , au lieu de me renvoyez 10/12/1996 comme auparavant, maintenant ça me renvoie 10/10/1996...

    Le problème maintenant c'est le format de l'année.


    EDIT : A mais non !! le format j c'est pour le jour du mois et non le mois en lui même, c'est donc faux

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 85
    Par défaut
    Bon je termine mon monologue en disant : YATAAAAAAAA j'ai trouvé !!!!!


    En fait, c'est tout bête, tout était une question de position des caractères...


    Je mets mon erreur, ça peut servir par la suite si qq'1 à le même problème

    aux variables jour, mois et année, j'avais mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $jour = substr($dateNaissance, 0, 2);
    $mois = substr($dateNaissance, 4, 2);
    $annee = substr($dateNaissance, 6, 4);

    or, pour le mois, c'est à partir du 3ème caractère que l'on commence à compter , donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $jour = substr($dateNaissance, 0, 2);
    $mois = substr($dateNaissance, 3, 2);
    $annee = substr($dateNaissance, 6, 4)

    oui je sais, c'est une erreur toute bête, mais je suis débutant, il faut un début à tout

  7. #7
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 420
    Par défaut
    Citation Envoyé par lechtinico Voir le message
    $jour = substr($dateNaissance, 0, 2);
    $mois = substr($dateNaissance, 3, 2);
    $annee = substr($dateNaissance, 6, 4)



    oui je sais, c'est une erreur toute bête, mais je suis débutant, il faut un début à tout
    Quand on a une chaine et que l'on veut prendre des extraits de cette chaine délimitée par des séparateurs, on emploie souvent la fonction explode pour faire un tableau.
    Cela évite entre autre de se mélanger les pinceaux sur les paramètres des substr

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $dateNaissance = '10/12/1996';
     
    $tab_date = explode('/',$dateNaissance);
     
    if(count($tab_date) == 3)//c'est donc qu'il y a trois éléments séparés par des / 
    {
    $jour = $tab_date[0];
    $mois = $tab_date[1];
    $annee = $tab_date[2];
     
    echo $jour.'<br />'.$mois.'<br />'.$annee.'<br />';

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/08/2011, 14h45
  2. script calendrier pour la saisie des champs dates
    Par s.mustapha86 dans le forum Struts 1
    Réponses: 12
    Dernier message: 16/07/2008, 15h18
  3. Masque de saisie pour champs Date et Datetime
    Par lg022 dans le forum ASP.NET
    Réponses: 20
    Dernier message: 03/06/2008, 16h17
  4. CR xi - probleme avec champ date comme parametre de saisie
    Par campia dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 11/03/2008, 09h10
  5. clause sql sur champ Date avec masque de saisie
    Par TOMSEC dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 05/04/2007, 12h20

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