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 SQL Discussion :

Comparaison de date


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 34
    Points : 35
    Points
    35
    Par défaut Comparaison de date
    Bonjour,

    je souhaite faire un who is online sur mon site. Pour mettre hors ligne j 'update la table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE utilisateurs 
    SET online='0' 
    WHERE derniere_visite > (NOW()- interval '5 minute');
    Au début j'utilisais du php : time()-(60*5)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE utilisateurs 
    SET utilisateurs_online='0' 
    WHERE utilisateurs_derniere_visite > ".$time_max
    Mais ça ne marchait pas comme je le souhaitais tous les profils étaient mis hors ligne. Donc j'ai décidé de le faire en sql mais j'ai le même résultat.

    derniere_visite : timestamp without time zone

    cordialement,
    Austriker

    Je suis sous Postgresql.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 115
    Points : 28 493
    Points
    28 493
    Par défaut
    Ne serait-ce pas plutôt comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE derniere_visite > (NOW()- interval '5' minute);

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 34
    Points : 35
    Points
    35
    Par défaut
    Merci,

    J'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE utilisateurs SET online='0' WHERE derniere_visite > (NOW()- interval '5' minute);
    La requête est exécutée avec succés, mais il n'y a aucune ligne modifié.
    Alors que j'ai attendu 10 minutes.

    Pourtant j'ai regardé dans la documentation. ils font comme ça.

    Cordialement
    Autriker

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 394
    Points
    18 394
    Par défaut
    Essayez de changer votre > en <.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 34
    Points : 35
    Points
    35
    Par défaut
    J'ai essayé ce que vous m'aviez dit. cette fois si tous les profils sont mis hors ligne au bout d'une seconde. ça ne marche pas.

    Cordialement
    austriker

  6. #6
    Expert éminent sénior
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Online est une colonne de quel type ?

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 34
    Points : 35
    Points
    35
    Par défaut
    Online est du type integer
    derniere_visite du type timestamp without time zone

    cordialement
    austriker

  8. #8
    Expert éminent sénior
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Si online est du type INTEGER, inutile de mettre sa valeur entre '. On ne sait jamais, peut-être qu'il essaie d'attribuer comme valeur la chaîne de caractère '0' et que comme ce n'est une valeur entière requise par le type de la colonne, il ne modifie rien.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 34
    Points : 35
    Points
    35
    Par défaut
    Merci C'est bon j'ai trouvé mon problème :

    il fallait effectivement changer le sens du signe. mais je n'avais pas compris sur le coup.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE utilisateurs SET online=0 WHERE derniere_visite < (NOW()- interval '5' minute);
    Cordialement
    austriker

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

Discussions similaires

  1. comparaison de dates javascript
    Par SpaceFrog dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/07/2005, 09h45
  2. comparaison de dates
    Par pmithrandir dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/06/2005, 17h12
  3. comparaison de date
    Par nickoshiba dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 15/03/2005, 16h48
  4. Comparaison de dates
    Par Tapioca dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/06/2004, 16h55
  5. Problème de comparaison de dates
    Par MiJack dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/03/2004, 22h43

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