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 :

Comment puis-je faire l'inverse de cette requette [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut Comment puis-je faire l'inverse de cette requette
    Bonjour
    je suis pas trop expert en MySQL et peut etre que mon besoin est particulier

    Voici mon code de base qui ne repond pas a mon besoin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $select_availability = 'SELECT * FROM holiday WHERE end >= "2007-06-11" AND start BETWEEN "2007-06-01" AND "2007-06-01" ORDER BY start ASC';
    (J'ai une table avec plusieur champs dans le champs start et end de type date (debaut et fin des vacances))

    En fait dans mon code, il controle si mon champs "start" est entre deux date.

    Ce qu'il me faudrait c'est que MySQL controle si la valeur de ma variable $date (qui contient une date d'un jour, par exmple 2007-06-03) soit entre les valeur de champ start et end

    Es-ce possible?
    Si oui comment?

    En fait pour etre plus précis. Je dois afficher dans un calendrier que j'ai crée, les diponibilité des mes collègues.

    Si je prend par exemple le jour 2007-06-11 ($date), je dois afficher dans ce jour, toutes les personne qui sont absence, en fonction des entrée des champs start en end de ma table

    En francais parlé je dois créé un instruction MySQL qui dit ceci
    (start et end sont donc les nom de mes champs)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $select_availability = 'SELECT * FROM holiday 
    WHERE $date est plus grand ou egal que start pour autant que end est plus grand ou egal que $start
    Si ca fonctionne, dans la case 2007-06-11 de mon caledrier devarit s'afficher les noms de toutes les personnes absentes se jour ci. (idem et meme raisonnement pour tous les autre dates du mois et de l'année)


    Mille mille merciS
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Quelquechose comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $select_availability = 'SELECT * FROM holiday WHERE end >= "'. $date . '" AND start <= "' . $date . '" ORDER BY start ASC';
    Attention, $date doit être au format de mysql (yyyy-mm-dd)

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    Merci kopahaja,
    j'ai essayé ceci mais repond pas a mon bseoin aussi. C'est pas évisdent d'etre clair....

    J'ai ajouté ce commentaire à mon premier post
    En fait pour etre plus précis. Je dois afficher dans un calendrier que j'ai crée, les diponibilité des mes collègues.

    Si je prend par exemple le jour 2007-06-11 ($date), je dois afficher dans ce jour, toutes les personne qui sont absence, en fonction des entrée des champs start en end de ma table

    En francais parlé je dois créé un instruction MySQL qui dit ceci
    (start et end sont donc les nom de mes champs)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $select_availability = 'SELECT * FROM holiday 
    WHERE $date est plus grand ou egal que start pour autant que end est plus grand ou egal que $start
    Si ca fonctionne, dans la case 2007-06-11 de mon caledrier devarit s'afficher les noms de toutes les personnes absentes se jour ci. (idem et meme raisonnement pour toutes les autres dates du mois et de l'année)
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  4. #4
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    J'ai mis ceci, mais ca affiche aussi une personne qui a pris congé le 2007-06-01
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $select_availability = 'SELECT * FROM holiday WHERE "2007-06-11" >= start AND end >= "2007-06-11"';
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    Pardon, c a à l'air de marché. Je fait des test et si c'est bien le cas je mets le ticket "resolu". SI non, si vous voyez une incohérence, corrigez moi Merci
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

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

Discussions similaires

  1. Comment puis-je faire cela?
    Par pacha2602 dans le forum Flash
    Réponses: 4
    Dernier message: 01/05/2007, 08h19
  2. Comment puis je faire pour que'une page soir rechargees....
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/12/2005, 10h46
  3. [JTable] Comment faire pour inverser la sélection
    Par cootchy dans le forum Composants
    Réponses: 6
    Dernier message: 08/05/2005, 01h06
  4. Comment puis je faire cette effet...
    Par wikers dans le forum OpenGL
    Réponses: 5
    Dernier message: 12/06/2004, 20h40

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