Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 20 sur 20
  1. #1
    Candidat au titre de Membre du Club
    Homme Profil pro Akim AMx
    Inscrit en
    janvier 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Nom : Homme Akim AMx

    Informations forums :
    Inscription : janvier 2010
    Messages : 59
    Points : 12
    Points
    12

    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 Vincent
    Inscrit en
    juillet 2005
    Messages
    21 434
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 21 434
    Points : 31 232
    Points
    31 232

    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

  3. #3
    Candidat au titre de Membre du Club
    Homme Profil pro Akim AMx
    Inscrit en
    janvier 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Nom : Homme Akim AMx

    Informations forums :
    Inscription : janvier 2010
    Messages : 59
    Points : 12
    Points
    12

    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 Vincent
    Inscrit en
    juillet 2005
    Messages
    21 434
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 21 434
    Points : 31 232
    Points
    31 232

    Par défaut

    Code :
    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 ...

  5. #5
    Candidat au titre de Membre du Club
    Homme Profil pro Akim AMx
    Inscrit en
    janvier 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Nom : Homme Akim AMx

    Informations forums :
    Inscription : janvier 2010
    Messages : 59
    Points : 12
    Points
    12

    Par défaut

    je n'arrive pas a faire marcher cette requette

    Cdt

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro Vincent
    Inscrit en
    juillet 2005
    Messages
    21 434
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 21 434
    Points : 31 232
    Points
    31 232

    Par défaut

    Qu'est ce que tu obtiens ?

  7. #7
    Candidat au titre de Membre du Club
    Homme Profil pro Akim AMx
    Inscrit en
    janvier 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Nom : Homme Akim AMx

    Informations forums :
    Inscription : janvier 2010
    Messages : 59
    Points : 12
    Points
    12

    Par défaut

    disons que je ne comprend pas trop la syntaxe a appliquer :

    Code sql :
    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 Vincent
    Inscrit en
    juillet 2005
    Messages
    21 434
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 21 434
    Points : 31 232
    Points
    31 232

    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"

  9. #9
    Candidat au titre de Membre du Club
    Homme Profil pro Akim AMx
    Inscrit en
    janvier 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Nom : Homme Akim AMx

    Informations forums :
    Inscription : janvier 2010
    Messages : 59
    Points : 12
    Points
    12

    Par défaut

    Code :
    $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 Vincent
    Inscrit en
    juillet 2005
    Messages
    21 434
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 21 434
    Points : 31 232
    Points
    31 232

    Par défaut

    Tu es sûr que tu es sur un SQL Server ?

  11. #11
    Candidat au titre de Membre du Club
    Homme Profil pro Akim AMx
    Inscrit en
    janvier 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Nom : Homme Akim AMx

    Informations forums :
    Inscription : janvier 2010
    Messages : 59
    Points : 12
    Points
    12

    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
    5 221
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France

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

    Informations forums :
    Inscription : avril 2007
    Messages : 5 221
    Points : 9 997
    Points
    9 997

    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)

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

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro Vincent
    Inscrit en
    juillet 2005
    Messages
    21 434
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 21 434
    Points : 31 232
    Points
    31 232

    Par défaut

    en mysql :
    Code sql :
    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)

  14. #14
    Candidat au titre de Membre du Club
    Homme Profil pro Akim AMx
    Inscrit en
    janvier 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Nom : Homme Akim AMx

    Informations forums :
    Inscription : janvier 2010
    Messages : 59
    Points : 12
    Points
    12

    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 Vincent
    Inscrit en
    juillet 2005
    Messages
    21 434
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 21 434
    Points : 31 232
    Points
    31 232

    Par défaut

    tes dates doivent etre dans une colonne date ou datetime sinon tu fais fausse route.

  16. #16
    Candidat au titre de Membre du Club
    Homme Profil pro Akim AMx
    Inscrit en
    janvier 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Nom : Homme Akim AMx

    Informations forums :
    Inscription : janvier 2010
    Messages : 59
    Points : 12
    Points
    12

    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 Vincent
    Inscrit en
    juillet 2005
    Messages
    21 434
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 21 434
    Points : 31 232
    Points
    31 232

    Par défaut

    Code sql :
    UPDATE ta_table SET nouvelle_colonne = STR_TO_DATE(ancienne_colonne, '%d/%m/%Y %H:%i')

  18. #18
    Candidat au titre de Membre du Club
    Homme Profil pro Akim AMx
    Inscrit en
    janvier 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Nom : Homme Akim AMx

    Informations forums :
    Inscription : janvier 2010
    Messages : 59
    Points : 12
    Points
    12

    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 Vincent
    Inscrit en
    juillet 2005
    Messages
    21 434
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 21 434
    Points : 31 232
    Points
    31 232

    Par défaut

    Code sql :
    1
    2
    3
    SELECT tes_champs FROM ta_table 
    WHERE MONTH(ta_colonne) = MONTH(CURDATE())
    AND YEAR(ta_colonne) = YEAR(CURDATE())

  20. #20
    Candidat au titre de Membre du Club
    Homme Profil pro Akim AMx
    Inscrit en
    janvier 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Nom : Homme Akim AMx

    Informations forums :
    Inscription : janvier 2010
    Messages : 59
    Points : 12
    Points
    12

    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 :
    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •