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

Symfony PHP Discussion :

SQL/Doctrine comparaison avec date ajourd'hui ne marche pas


Sujet :

Symfony PHP

  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 126
    Par défaut SQL/Doctrine comparaison avec date ajourd'hui ne marche pas
    Bonjour à tous,

    Je voudrais comparer la date d'aujourd'hui (sans le time) à l'un des champs de ma bdd, pour cela j'ai importé la fonction DATE_FORMAT pour l'utiliser avec le DQL...

    Cependant, le résultat me donne un tableau vide alors qu'il y a des dates d'aujourd'hui dans la base ... Merci d'avance pour votre aide précieuse

    Voici la fonction du repository :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        public function getListeRdvAjd()
        {
            $ajd = date_format(new \datetime(), "%d-%m-%Y");
            $query = $this->createQueryBuilder('r');
            $query->andWhere("DATE_FORMAT(r.horaire_debut,'%d-%m-%Y') = :ajd")
                ->setParameter('ajd', $ajd);
     
            return $query->getQuery()->getResult();
        }

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 156
    Par défaut
    Bonjour,

    Pour essayer d'aider, j'ai peut être une piste :
    Il me semble qu'en SQL, DATE_FORMAT retourne une chaîne.
    Ta variable $ajd, c'est une chaîne ou un objet datetime ? Que donne un dd de cette variable ?
    Et en faisant plus simplement $ajd = date("d-m-Y"), est ce que c'est mieux ?

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 126
    Par défaut
    Après des heures d'arrachage de cheveux et d'expérimentations, il s'avère que le problème venait de l'ordre de formatage qu'il fallait écrire "Y-m-d" et non pas "d-m-Y" pour correspondre à celui de la bdd MySQL...
    Je pensais que cela serait interprété automatiquement mais non ... Aparamment il faut respecter le format du datetime natif et mettre les arguments dans le bon ordre (où bien je me trompe ?), en tous cas ça marche maintenant ... ouf !

    Merci Merou19

    Voici donc le code pour ceux qui seraient intéressés :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     public function getListeRdvAjd()
        {
            $ajd = new \DateTime('now');   
     
            $query = $this->createQueryBuilder('r');
            $query->select('r.horaire_debut')
     
                ->andWhere('date(r.horaire_debut) = :ajd')
                ->setParameter(':ajd', $ajd->format("Y-m-d"));
     
            return $query->getQuery()->getScalarResult();
        }

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

Discussions similaires

  1. [XL-2007] Comparaison avec date d'anniversaire
    Par bird007 dans le forum Excel
    Réponses: 11
    Dernier message: 25/06/2010, 14h19
  2. [AC-2007] Requête SQL en VBA avec Date
    Par soprano6217 dans le forum VBA Access
    Réponses: 5
    Dernier message: 02/04/2009, 14h47
  3. Comparaison de dates: Aujourd'hui et date entrée via un user form
    Par jeo13 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 03/06/2008, 09h47
  4. [SQL 2000] Comparaison avec NULL
    Par Yad dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 20/12/2006, 16h50
  5. [Oracle 9i] Traitement SQL et comparaison de dates
    Par Requin15 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/06/2006, 20h38

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