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 des dates comprises dans la semaine courante


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2010
    Messages : 71
    Points : 32
    Points
    32
    Par défaut Afficher des dates comprises dans la semaine courante
    Bonjour,

    Je viens pour avoir un peut d'aide pour récupérer des champs dans ma base SQL, comprise dans la semaine en cour du lundi au dimanche.

    En faite j'aimerai récupérer toute les entrées PHP comprise dans la semaine courante ?

    mon soucis c'est que les date sont dans le format : d/m/y H:i

    je souhaite récupérer les événement dans la semaine en cours mais sur 2 champs sql = toute les événements dans le champ "start", et tout les événement dans le champs "stop" et les séparer dans un tableau

    pouvez vous m'aider a réaliser le code, car moi je cale

    Merci pour vos lumières

    Cdt,

    Max

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Quelle est le système de base de donnée que tu utilises ? SQL Server ?
    Quelque soit la réponse, il a surement des fonctions de dates pour sortir la position du jour actuel dans la semaine et ajouter/soustraire des nombres de jour à la date actuelle ; pour ainsi faire ta condition BETWEEN date_du_lundi AND date_du_dimanche
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2010
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    Merci pour ta réponse, la base SQL server oui

    Comment dire que date_du_lundi AND date_du_dimanche sont bien un lundi ou dimanche ?

    cdt,

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DATEADD(day, - DATEPART(weekday, GETDATE()), GETDATE())
    Ca devrait te retourner le 10/12/2012 (lundi) ; sauf si ton serveur a comme premier jour le dimanche ...
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2010
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    je n'arrive pas a faire marcher cette requette

    Cdt

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Qu'est ce que tu obtiens ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2010
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    disons que je ne comprend pas trop la syntaxe a appliquer :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DATEADD(day, - DATEPART(weekday, GETDATE()), GETDATE())


    DATEADD = nom de ma table ?
    DATEPART = champs date de ma base ?
    GETDATE = ?
    GETDATE = ?

    cdt,

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Heu non je t'ai donné une requête toute prête qui donne la date du lundi.
    Si ça fonctionne on pourra faire "tadate" entre "lundi" et "dimanche"
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2010
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = "SELECT DATEADD(day, - DATEPART(weekday, GETDATE()), GETDATE())";
    me retourne

    FUNCTION ibm.DATEADD does not exist

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu es sûr que tu es sur un SQL Server ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2010
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    C'est une base MySql, mais on est bien en language PHP non ? c'est dans un fichier PHP que je veux faire la requete ...

  12. #12
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    La requête est appelée par un script PHP, mais la requête proprement dite dépend du SGDB.
    Et si la requête peut faire le boulot, autant éviter de le faire en PHP.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    en mysql :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT tes_champs FROM ta_table 
    WHERE ta_colonne 
    BETWEEN 
           DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) day) 
    AND 
           DATE_ADD(CURDATE(), INTERVAL 6 - WEEKDAY(CURDATE()) day)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2010
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    merci pour vos aides c'est sympas

    mais ca marche pour des dates au format d/m/y H:i ?

    car la requête ne me retourne rien

  15. #15
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    tes dates doivent etre dans une colonne date ou datetime sinon tu fais fausse route.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  16. #16
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2010
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    j'ai testé en modifiant les dates en datetime et ca fonctionne cela veut dire que il faut que je change toute mes dates ... grrr bon je vais réfléchir pour convertir les dates

    merci encore

  17. #17
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE ta_table SET nouvelle_colonne = STR_TO_DATE(ancienne_colonne, '%d/%m/%Y %H:%i')
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  18. #18
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2010
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    Impeccable merci encore, toute mes dates sont maintenant en datetime, tout fonctionne


    et ya t'il un moyen d'afficher toute les datetime du mois en cours ?

  19. #19
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT tes_champs FROM ta_table 
    WHERE MONTH(ta_colonne) = MONTH(CURDATE())
    AND YEAR(ta_colonne) = YEAR(CURDATE())
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  20. #20
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2010
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    Merci tout fonctionne, il me reste une dernière chose a vous demander ...

    est'il possible d'avoir la moyenne des temps écoulé entre les 2 dates ?

    les champs sont donc au format datetime, et j'aimerai les récupérer en
    jour - Heures, minutes

    j'ai trouvé cette requête mais j'ai l’impression qu'elle ne fonctionne pas correctement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $sql = "SELECT SEC_TO_TIME(AVG(UNIX_TIMESTAMP(start) - UNIX_TIMESTAMP(stop))) as avTime FROM $tbl_call ";
    $res = mysql_query($sql);
     
     
    $average2 = mysql_result($res, 0, 'avTime');
    	$average = explode(":",$average2);
    	$h = $average2[0];
    	$m = $average2[1];
    	$s = $average2[2]; 
    $average2 = "$h H $m Min";
    Merci, si vous avez un avis ?

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/09/2014, 12h49
  2. Date comprise dans week-end de semaine courante
    Par yeste64 dans le forum Requêtes
    Réponses: 2
    Dernier message: 20/10/2012, 19h46
  3. afficher des dates dans un treeview
    Par awalter1 dans le forum GTK+ avec Python
    Réponses: 1
    Dernier message: 28/06/2012, 11h25
  4. Afficher des dates dans l'axe des abscisses
    Par Man_AB dans le forum Android
    Réponses: 0
    Dernier message: 30/05/2011, 18h16
  5. Afficher des dates sur 3 semaines
    Par atlantideD dans le forum Access
    Réponses: 10
    Dernier message: 16/05/2007, 10h05

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