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

Langage PHP Discussion :

Afficher les semaines entre deux autres


Sujet :

Langage PHP

  1. #21
    Membre expert
    Avatar de Spartacusply
    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
    Points : 3 274
    Points
    3 274
    Par défaut
    Tu peux aussi utiliser la fonction week aussi sur une date quelconque (ici ta date de début et ta date de fin).

    Quelque chose comme ceci peut te servir de base à la construction de ta requête :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM tache t
    WHERE YEARWEEK(t.date_record) >= YEARWEEK('2014-02-03') AND YEARWEEK(t.date_record) <= YEARWEEK('2014-02-25')
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  2. #22
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    C'est génial que tu m'aide !

    Tu est mon sauveur !

    Je n'ai qu'une chose à te dire MERCI !

    Pour ceux a qui cela pourrait servir j'ai recréer ma requête avec ce que tu m'a donné ce qui donne :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT e.employe_id, e.nom, e.prenom,n.description,t.priorite, t.date_record as date_record,t.duree AS newduree, 
    tc.duree,tc.jour,td.tache_desc,t.tache_id,a.avancement_desc,IFNULL(t.duree,0) AS newduree 
    FROM tache t,note n,time_cart tc,tache_desc 
    td,avancement a,employe e 
    WHERE dossier_id = $dossier_id 
    AND WEEKOFYEAR(t.date_record) >= 0 
    AND WEEKOFYEAR(t.date_record) <= 0 
    AND n.tache_id = t.tache_id 
    AND tc.time_cart_id = t.time_cart_id 
    AND td.tache_desc_id = t.tache_desc_id 
    AND a.avancement_id = t.avancement_id 
    AND e.employe_id = t.employe_id 
    ORDER BY t.date_record

  3. #23
    Membre expert
    Avatar de Spartacusply
    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
    Points : 3 274
    Points
    3 274
    Par défaut
    Il reste un problème dans ta requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    AND WEEKOFYEAR(t.date_record) >= 0 
    AND WEEKOFYEAR(t.date_record) <= 0
    Ce code signifie "quand WEEKOFYEAR = 0", ce qui n'est pas possible car elle renvoie un nombre entre 1 et 53.

    De plus WEEKOFYEAR ne tient pas compte de l'année, d'où la suggestion de l'utilisation de YEARWEEK, qui elle en tient compte.
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  4. #24
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Juste pour l'exemple j'ai mis 0 mais dans mon code c'est mes variables.

    Est tu sur que c'est bien YEARWEEK ? Elle me retourne rien.

  5. #25
    Membre expert
    Avatar de Spartacusply
    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
    Points : 3 274
    Points
    3 274
    Par défaut
    Sans doute parce que tu passes un entier (le numéro de semaine) en paramètre, il te faut absolument passer une date, car sinon si tu as des tâches qui s'étalent sur plusieurs années dans ta bdd, tu pourras sélectionner des tâches qui n'ont pas lieu d'être (qui sont d'une autre année).

    L'autre solution, si les dates limites sont forcément de la même année, tu peux rajouter un filtre sur l'année (fonction YEAR).
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 9
    Dernier message: 12/07/2011, 17h25
  2. Outils sur les différences entre deux fichiers XML
    Par Community Management dans le forum XML/XSL et SOAP
    Réponses: 19
    Dernier message: 21/07/2008, 15h21
  3. [VB6]sortir toutes les dates entre deux dates
    Par AlfiQue dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/02/2006, 19h09
  4. Réponses: 10
    Dernier message: 20/09/2005, 15h32
  5. [Relations] afficher les relations entre 2 tables
    Par dzincou dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 14/01/2004, 17h07

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