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 :

Affichage d'une requête pendant une certaine durée [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 27
    Points : 18
    Points
    18
    Par défaut Affichage d'une requête pendant une certaine durée
    Bonjour à tou(te)s,

    je m'explique j'ai une table ouvrier et une table congé

    dans la table congé j'ai un champ datedebut et datefin pour le début et la fin de leurs vacances.

    est-ce qu'il est possible de faire afficher sur une page les gens en vacances a partir de la datedebut jusque la date de fin puis apres que ca s'enlève?

    un message qui met "Attention l'ouvrier nom est absent du "datedebut" au "datefin" ".

    pendant toute la durée?


    j'espère avoir été le plus clair possible
    D'avance merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2007
    Messages : 156
    Points : 192
    Points
    192
    Par défaut
    Citation Envoyé par Whinespirit Voir le message
    puis apres que ca s'enlève?

    ...

    pendant toute la durée?

    Après quoi ?
    Pendant toute la durée de quoi ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    bien disons que Gerard est en vacance du 11-07-2010 jusqu'au 30-07-2010

    et bien je voudrait qu'a partir du 11-07-2010 un message s'affiche pour le signaler et que ce message s'en va le 30-07-2010.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2007
    Messages : 156
    Points : 192
    Points
    192
    Par défaut
    Tu as juste à récupérer la date du jour et ensuit à récupérer dans la BD les ouvriers dont la date du jour est comprise dans leur intervalle de vacances :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $dateJour = date("Y-m-d");
    $sql = "SELECT o.prenom, o.nom, v.datedebut, v.datefin FROM ouvrier o, vacances v WHERE '".$dateJour."' BETWEEN v.datedebut AND v.dateFin";
    Ensuite tu affiche ta liste de résultat

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    ha oui merci ca marche nickel

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    Re bonjour,

    enfaite ca marche nickel mais j'aimerai changer un détail je voudrais afficher par mois. Donc que chaque moi il affiche les ouvrier en qui son en congé et pas a partir du jour ou il est en congé.

    est-ce qu'il y'a moyen de faire dire ca dans la requete sql?

    je continue a chercher de mon coté
    d'avance merci.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2007
    Messages : 156
    Points : 192
    Points
    192
    Par défaut
    Bonjour je pense qu'il faut considérer plusieurs cas. Faisons un petit schéma pour m'expliquer. Tu veux afficher les ouvriers en vacances pour le mois courant dans ces conditions là : (Dis moi si je me trompe)

    .....M-n.....|.....M.....|.....M+n
    --------------------------------
    ...............|.....DB....|.....DF
    ......DB......|....DF.....|........
    ...............|DB......DF|........
    ......DB......|............|.....DF

    M étant le mois courant, DB la date de début et DF la date de fin.

    Donc pour couvrir tous ces cas, je proposerais la requete suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    moisCourant = date("Y-m");
    $sql = "SELECT ... FROM ... WHERE 
    v.date_debut LIKE '".$moisCourant."-%'
    OR v.date_fin LIKE '".$moisCourant."-%'
    OR '".$moisCourant."-01' BETWEEN v.date_debut AND v.date_fin";
    A tester.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 27
    Points : 18
    Points
    18
    Par défaut
    tous simple énorme...

    Merci beaucoup.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/10/2015, 17h16
  2. passer une valeur d'une requête a une table
    Par LesLemmings dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 09/06/2006, 14h13
  3. Réponses: 2
    Dernier message: 02/06/2006, 11h26
  4. Réponses: 4
    Dernier message: 01/12/2005, 14h36
  5. Réponses: 5
    Dernier message: 07/11/2005, 15h38

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