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 :

Comparer une date avec current_stamp


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 101
    Points : 52
    Points
    52
    Par défaut Comparer une date avec current_stamp
    Bonjour,

    J'aimerai faire un test avec un if () mais j'ai un peu de mal, le but est de tester si la date/heure stockée dans la base de données a été stockée il y a plus d'une heure ou pas.
    Dans mon insert into j'utilise CURRENT_TIMESTAMP
    J'ai donc dans ma base : 2011-07-22 15:07:51

    Comment demander "Si cette date/heure était il y a plus d'1 heure"

    J'ai jamais utilisé CURRENT_TIMESTAMP, je suis entrain de penser à faire une séparation des caractères avec substr() (la déprime)

    Merci à vous

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Puisqu'il faut faire une requête pour aller chercher la valeur en table, le plus simple est de laisser la base de données faire le calcul. Par exemple cette requête avec mysql:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DATE_ADD(la_colonne, interval 1 hour) > current_timestamp FROM la_table
    renverra 1 si la_colonne est à moins d'une heure de l'heure courante et 0 sinon.

  3. #3
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 101
    Points : 52
    Points
    52
    Par défaut
    Super c'est exactement ce que je cherchais, comment récupérer cette valeur binaire ? mysql_query() renvoyant une ressource.

  4. #4
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839

  5. #5
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 101
    Points : 52
    Points
    52
    Par défaut
    Merci bien.
    J'aurais une dernière question, le principe que je mets en place est un système de vote, on peut revoter après une heure ou en changeant d'ip.
    J'aimerai maintenant afficher "Vous pourrez revoter à 16h00"
    Pour faire court j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    /* je sélectionne l'ip du visiteur ds la base */
    $reponse = mysql_query($requete);
    $ligne = mysql_fetch_array($reponse);
    echo $ligne['heure'];
    ?>
    Le champ "heure" contient le current_timestamp, comment afficher une heure de plus, pour tester j'ai fait :
    echo ($ligne['heure'] + 1);
    Il m'affiche que l'année +1 : 2012
    Il y a donc des règles de manipulation pour ce format de date, je trouve nulpart plus de détails à ce sujet.

    Merci

  6. #6
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    Bonsoir,

    tu peux travailler avec DateTime :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    date_default_timezone_set("Europe/Paris");
     
    // simulation resultat requete mysql
    $ligne=array("heure" => "2011-07-24 17:45:00");
     
    $heure_possible = date_modify(date_create($ligne["heure"]),"+1 hour");
     
    if($heure_possible < date_create()) {
    	echo "<h1>le vote peut être pris en compte</h1>";
    }else {
    	echo "<h1>vous pourrez voter à : ".date_format($heure_possible,"H\hi")."</h1>";
    }
    ?>

  7. #7
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 101
    Points : 52
    Points
    52
    Par défaut
    Ah super merci !

  8. #8
    Membre habitué
    Homme Profil pro
    Lycéen
    Inscrit en
    Décembre 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Décembre 2008
    Messages : 106
    Points : 152
    Points
    152
    Par défaut
    Citation Envoyé par ska_root Voir le message
    Bonsoir,

    tu peux travailler avec DateTime :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    date_default_timezone_set("Europe/Paris");
     
    // simulation resultat requete mysql
    $ligne=array("heure" => "2011-07-24 17:45:00");
     
    $heure_possible = date_modify(date_create($ligne["heure"]),"+1 hour");
     
    if($heure_possible < date_create()) {
    	echo "<h1>le vote peut être pris en compte</h1>";
    }else {
    	echo "<h1>vous pourrez voter à : ".date_format($heure_possible,"H\hi")."</h1>";
    }
    ?>
    On peut pas faire tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php $heure_possible = strtotime("{$ligne['heure']} +1 hour"); ?>
    ?

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

Discussions similaires

  1. Comparer une date avec DateCreated
    Par guilhemleflo dans le forum VBScript
    Réponses: 4
    Dernier message: 29/07/2013, 16h09
  2. [Débutant] Comparer une date avec DateTime
    Par arngrimur dans le forum C#
    Réponses: 8
    Dernier message: 30/09/2011, 10h24
  3. Comparer une date avec la date du jour
    Par Med_be dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 29/05/2011, 18h24
  4. Réponses: 3
    Dernier message: 31/01/2011, 18h26
  5. Comparer une date avec la date du jour
    Par DEV-10 dans le forum Développement
    Réponses: 25
    Dernier message: 11/08/2009, 16h36

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