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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Format des types date [Drupal]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2014
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 107
    Par défaut Format des types date
    Bonjour,

    voici mon code pour afficher une date dans un formulaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $form['dateSej'] = array(
        '#type' => 'date',
        '#title' => t('date du séjour'),
    );

    Je voudrais récupérer la date choisie par l'utilisateur grace à une requête sql tout d'abord :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     db_query("INSERT INTO {table} ( dateSej)
          VALUES('%s' )",  '$dateSej' );


    puis je l'affiche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $output .= '<div class="table-message table-dateSej">Date du séjour : '.check_markup($entry['dateSej']) ."</div>";

    Le problème, la date affichée est 0000-00-00 ?? pourquoi ??

    Je voudrais au moins qu'elle affiche par défaut la date d'aujourd'hui sinon la date sélectionnée par l'utilisateur ...


    Merci d'avance de vos réponse .

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 309
    Par défaut
    Bonjour,
    "INSERT" ne permet pas de récupérer une donnée mais de l'ajouter dans la base de données. C'est "SELECT" qui vous faut.

  3. #3
    Membre confirmé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2014
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 107
    Par défaut
    Oui, j'insére la date dans ma base de donnée avec INSERT mais après j'utilise cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $output .= '<div class="table-message table-dateSej">Date du séjour : '.check_markup($entry['dateSej']) ."</div>";
    Qui permet d'afficher la date sauf que la date affiche 0000-00-00. Mais effectivement il y a un problème lors de l'insert car dans ma base de donnée la date est 0000-00-00

  4. #4
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Bienvenue dans le monde de gestion des dates de MYSQL ! (qui ne se le cachons pas, est complètement à c****).

    Ce qui se passe, c'est que ton entrée pour la date ne doit pas être valide. Sauf que Mysql, converti ton entrée en une date "valide", la date "0000-00-00".

    Bref, vérifie ce que vaut ta date, et elle doit être au format YYYY-MM-DD.

  5. #5
    Membre confirmé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2014
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 107
    Par défaut
    Je pense effectivement c'est un problème de format de la date, comment changer le format de cette date ?

  6. #6
    Membre confirmé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2014
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 107
    Par défaut
    comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $newDate = date("YYYY-MM-DD", strtotime($DateSej));
    ??

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/09/2015, 22h02
  2. Réponses: 10
    Dernier message: 26/11/2008, 18h13
  3. [MySQL] format du type date
    Par laurentSc dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 01/04/2008, 14h16
  4. gerer le format de type date
    Par debutantasp dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 13/03/2008, 19h21
  5. Format des type de données
    Par caballero dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 09/07/2007, 17h58

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