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 :

Datetime et moins de 12 heures.


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Par défaut Datetime et moins de 12 heures.
    Salut,

    J'ai dans une base données des champs de type datetime et j'aimerai savoir comment je pourrai récupérer des lignes ou le datetime a au moins 12 heures.

    Par exemple je voudrais une requete comme ceci:
    select * from user where "user_date_created a moins de 12 heures"

    Sachant que user_date_created est de type datetime et a donc des valeurs comme ceci: "2011-08-08 09:45:25"

    Merci,
    Vincent.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Quelques chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM user WHERE HOUR(CURTIME()) - HOUR(user_date_created) < 12 AND DATEDIFF(NOW(),user_date_created) = 0
    Voir :http://dev.mysql.com/doc/refman/5.0/...functions.html pour plus d'infos
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Par défaut
    Citation Envoyé par grunk Voir le message
    Quelques chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM user WHERE HOUR(CURTIME()) - HOUR(user_date_created) < 12 AND DATEDIFF(NOW(),user_date_created) = 0
    Voir :http://dev.mysql.com/doc/refman/5.0/...functions.html pour plus d'infos
    Salut,

    J'ai essayé et ca marche, merci.

    Par contre, si le jour a changé mais que l'on est encore dans la tranche des 12 heures, ca marchera ou pas ?

    Merci,
    Vincent.

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Par contre, si le jour a changé mais que l'on est encore dans la tranche des 12 heures, ca marchera ou pas ?
    En principe non , c'est le role du DATEDIFF() =0

    J'ai pas tester donc à toi de vérifier
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Par défaut
    Citation Envoyé par grunk Voir le message
    En principe non , c'est le role du DATEDIFF() =0

    J'ai pas tester donc à toi de vérifier
    J'ai bien regarder la doc et j'ai pas trouvé comment transformer une date de type datetime comme mktime en PHP pour récupérer les champs d'une table qui ont au moins 12 heures sans prendre en compte le jour.

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM user WHERE HOUR(DATEDIFF(NOW(), user_date_created)) < 12
    Devrait mieux répondre à ce que tu veux faire.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Par défaut
    Citation Envoyé par grunk Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM user WHERE HOUR(DATEDIFF(NOW(), user_date_created)) < 12
    Devrait mieux répondre à ce que tu veux faire.
    Apparemment cela ne marche pas puisque j'ai en retour des résultats qui ont plusieurs jours !

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    à moi d'essayer ! si j'en crois cette syntaxe ...
    SELECT * FROM user WHERE DATEDIFF(Hour, NOW(), user_date_created) < 12

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,
    à moi d'essayer ! si j'en crois cette syntaxe ...
    Salut, merci.

    Je viens de trouver qqchose qui apparemment marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM user WHERE user_date_created >= date_sub( now( ) , INTERVAL 12 HOUR )

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

Discussions similaires

  1. Réponses: 31
    Dernier message: 14/01/2011, 02h39
  2. 6/7 antivirus crakés en moins d'une heure
    Par Acropole dans le forum Actualités
    Réponses: 2
    Dernier message: 31/10/2009, 18h02
  3. DateTime :: problème pour changer une heure
    Par olivier1209 dans le forum C#
    Réponses: 4
    Dernier message: 28/01/2008, 09h42
  4. [DateTime] ne pas selectionner l'heure
    Par nico0812 dans le forum C#
    Réponses: 7
    Dernier message: 01/10/2007, 11h13
  5. Affichage Heure De Moins D'une Heure
    Par com-ace dans le forum Access
    Réponses: 2
    Dernier message: 12/09/2006, 14h22

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