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 :

Problème requête avec intervalle de date [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Août 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Août 2010
    Messages : 216
    Points : 96
    Points
    96
    Par défaut Problème requête avec intervalle de date
    Bonjour à tous,

    Je cherche à insérer dans une requête mysql une condition de date mais je ne sais pas comment la mettre en place.

    Je gère un agenda avec une date de début d'évènement au format 0000-00-00 et une date de fin d'évènement au même format.
    Sauf que certains évènements sont à une date unique et d'autre sur plusieurs jours.

    Je n'arrive pas à m'en sortir avec ma requête. Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE (SOIREE_SECTEUR = '$idSecteur' AND (WHEN SOIREE_DATE_FIN = '0000-00-00' THEN SOIREE_DATE LIKE '$nbrTodayYear-$nbrTodayMonth-$nbrAgendaDay' ELSE SOIREE_DATE <= '$nbrTodayYear-$nbrTodayMonth-$nbrAgendaDay' AND SOIREE_DATE_FIN >= '$nbrTodayYear-$nbrTodayMonth-$nbrAgendaDay') )
    Puis-je avoir un peu d'aide ?

    Merci par avance,

    Aurélien
    Salutations à tous les amis du forum Développez

    Monsieur GRrr, bulletins tranchants pour adultes consentants !

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 098
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 098
    Points : 8 207
    Points
    8 207
    Billets dans le blog
    17
    Par défaut
    Salut !
    Quel est le problème ?
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Membre régulier
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Août 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Août 2010
    Messages : 216
    Points : 96
    Points
    96
    Par défaut
    Salut Seb,

    Merci de ta réponse.

    En fait je ne sais pas comment créer cette requête mysql.
    A l'heure actuelle je ne gère que des dates simples sans intervalle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     WHERE (SOIREE_SECTEUR = '$idSecteur' AND SOIREE_DATE LIKE '$nbrTodayYear-$nbrTodayMonth-$nbrAgendaDay' )
    Mais mon site dispose d'un agenda au jour le jour donc si par exemple, je rentre un évènement avec une date de début le 2011-06-01 et une date de fin le 2011-06-15, il ne m'affichera l'évènement que le 1er juin et par les autres dates jusqu'au 15 juin.

    Etant un codeur en herbe je ne sais pas comment coder ma requête mysql qui me permettrait d'afficher mon évènement aux autres dates.

    Je ne sais pas si je suis très clair dans mes explications

    Penses-tu pouvoir me filer un coup de main ?

    Merci à toi.

    Aurélien
    Salutations à tous les amis du forum Développez

    Monsieur GRrr, bulletins tranchants pour adultes consentants !

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 098
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 098
    Points : 8 207
    Points
    8 207
    Billets dans le blog
    17
    Par défaut
    Si j'ai bien compris tu veux sélectionner les évènement dont
    $date correspond à DATE_SOIREE
    Ou
    $date est compris entre DATE_SOIREE et DATE_SOIREE_FIN

    J'ai bon ?

    Si oui alors tu peux faire :

    ...
    WHERE '$date' = DATE_SOIREE OR '$date' BETWEEN DATE_SOIREE AND DATE_SOIREE_FIN
    ...
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  5. #5
    Membre régulier
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Août 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Août 2010
    Messages : 216
    Points : 96
    Points
    96
    Par défaut
    Merci pour ta réponse.

    C'est presque ça car il faut que je pose comme condition que

    quand SOIREE_DATE_FIN = 0000-00-00
    il prenne en compte
    $date = SOIREE_DATE

    et que quand SOIREE_DATE_FIN correspond à une date autre que 0000-00-00
    il prenne en compte
    $date BETWEEN SOIREE_DATE AND SOIREE_DATE_FIN

    C'est à ce stade là que je bloque.

    As-tu une idée ?

    Merci par avance,

    Aurélien
    Salutations à tous les amis du forum Développez

    Monsieur GRrr, bulletins tranchants pour adultes consentants !

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 098
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 098
    Points : 8 207
    Points
    8 207
    Billets dans le blog
    17
    Par défaut
    Hum je ne vois pas de problème car si DATE_SOIREE_FIN vaut 0000-00-00 le BETWEEN sera toujours FALSE.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  7. #7
    Membre régulier
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Août 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Août 2010
    Messages : 216
    Points : 96
    Points
    96
    Par défaut


    Voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE (SOIREE_SECTEUR = '$idSecteur' AND ('$nbrTodayYear-$nbrTodayMonth-$nbrAgendaDay' = SOIREE_DATE OR '$nbrTodayYear-$nbrTodayMonth-$nbrAgendaDay' BETWEEN SOIREE_DATE AND SOIREE_DATE_FIN) )
    Et voici un exemple de page pour que tu vois le problème en direct :
    http://www.nightfever.fr/sorties_Cle...-mai-2011.html

    Il m'affiche des dates partants du 26 mai alors que la date sélectionnée est celle du 28 mai.
    Salutations à tous les amis du forum Développez

    Monsieur GRrr, bulletins tranchants pour adultes consentants !

  8. #8
    Membre régulier
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Août 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Août 2010
    Messages : 216
    Points : 96
    Points
    96
    Par défaut
    Attends je fais une vérification, je crois que j'ai dit une bétise ...
    Salutations à tous les amis du forum Développez

    Monsieur GRrr, bulletins tranchants pour adultes consentants !

  9. #9
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 098
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 098
    Points : 8 207
    Points
    8 207
    Billets dans le blog
    17
    Par défaut
    Il m'affiche des dates partants du 26 mai alors que la date sélectionnée est celle du 28 mai.
    Oui, parce que l'évènement Europavox couvre les dates du 26 au 29.
    Cela répond bien au postulat de départ.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  10. #10
    Membre régulier
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Août 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Août 2010
    Messages : 216
    Points : 96
    Points
    96
    Par défaut
    Merci Seb.

    Il m'a fallu un peu de temps pour comprendre mon erreur mais tout fonctionne et c'est bien là le principal

    Encore merci.

    A bientôt,

    Aurélien
    Salutations à tous les amis du forum Développez

    Monsieur GRrr, bulletins tranchants pour adultes consentants !

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

Discussions similaires

  1. [AC-2010] Problème Requête avec UPDATE ET DATE
    Par Goupil91100 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/05/2015, 13h47
  2. [XL-2010] Problème avec intervalle de date
    Par pitipilot dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/08/2012, 11h39
  3. Requête avec intervalle de dates
    Par fastjim dans le forum Langage SQL
    Réponses: 2
    Dernier message: 21/06/2010, 17h05
  4. problème requète avec les dates sous sql server
    Par fayabones dans le forum Développement
    Réponses: 2
    Dernier message: 04/06/2009, 22h27
  5. écriture d'une requête avec intervalle de date
    Par urbanspike dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 08/10/2008, 15h49

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