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 deux dates


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Employé magasin
    Inscrit en
    Août 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 197
    Par défaut comparer deux dates
    Bonjours,
    je viens vers vous pour un truc simple dont je n'arrive pas a faire.
    Je stock des dates aux formats datetime dans ma BDD et j'aimerais les comparer avec la date actuel et seulement si il y a une différence de plusieurs minutes 10 par exemple recharger la page.
    Autrement j'arrive bien a dire qu'elle date est supérieur par rapport a l'autre ou l'inverse, mais pas comment trouver cette différence de minutes .

  2. #2
    Membre expérimenté
    Homme Profil pro
    DSI interne
    Inscrit en
    Juin 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DSI interne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2011
    Messages : 197
    Par défaut
    Bonsoir,

    Fonction TIMEDIFF().

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT TIMEDIFF(NOW(),'2012-08-27 23:05:00')

  3. #3
    Membre confirmé
    Homme Profil pro
    Employé magasin
    Inscrit en
    Août 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 197
    Par défaut
    Pourquoi si je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT TIMEDIFF(NOW(),'2012-08-28 15:05:00')
    J'obtiens: -15:51:05 ?
    Par ce que j'ai besoin de savoir pour ma condition si il y a une différence de 5minutes par exemple, mais aussi de plusieurs jours.

    PS: comment je récupère le résultat ? car d'habitude je fais comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $reponse = $bdd->query('SELECT * FROM table') or die(print_r($bdd->errorInfo()));
     
    while ($donnees = $reponse->fetch())
    {
    $nom = $donnees['nom']; 
    echo $nom;
    } $reponse->closeCursor();

  4. #4
    Membre expérimenté
    Homme Profil pro
    DSI interne
    Inscrit en
    Juin 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DSI interne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2011
    Messages : 197
    Par défaut
    J'obtiens: -15:51:05 ?
    Parce que le 28 c'est demain, donc la différence est négative...
    Sinon il faut faire l'inverse.
    Pour les jours utilises plutôt DATEDIFF().

    Pour ton résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $reponse = $bdd->query('SELECT TIMEDIFF(NOW(),'2012-08-28 15:05:00') AS duree') or die(print_r($bdd->errorInfo()));
     
    while ($donnees = $reponse->fetch())
    {
    $nom = $donnees['duree']; 
    echo $nom;
    } $reponse->closeCursor();

  5. #5
    Membre confirmé
    Homme Profil pro
    Employé magasin
    Inscrit en
    Août 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 197
    Par défaut
    Désoler pour ce message envoyé tout seule

  6. #6
    Membre confirmé
    Homme Profil pro
    Employé magasin
    Inscrit en
    Août 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 197
    Par défaut
    j'ai bon: ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <?php
    $drz= '00:18:00';
    // on se connecte à MySQL
    $db = mysql_connect("localhost", "root", "");
     
    // on sélectionne la base
    mysql_select_db('film',$db);
     
    // on crée la requête SQL
    $sql = 'SELECT TIMEDIFF(NOW(),"2012-08-27 23:40:00") AS test';
    // $sql = 'SELECT TIMEDIFF(,"2012-08-27 23:05:00") AS test';
     
    // on envoie la requête
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
    // on fait une boucle qui va faire un tour pour chaque enregistrement
    while($data = mysql_fetch_assoc($req))
        {
        // on affiche les informations de l'enregistrement en cours
        echo $data['test'];
    echo '<br>';
    			if($data['test'] >= $drz)
    				{
    echo 1;
    				}
    			else
    				{
     
    				}
        }

  7. #7
    Membre expérimenté
    Homme Profil pro
    DSI interne
    Inscrit en
    Juin 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DSI interne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2011
    Messages : 197
    Par défaut
    Y a que toi qui peu savoir si tu as bon ^^

    Regarde comme ca c'est un peu plus propre de mettre ta condition dans ta requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?php
    $drz= '2012-08-28 00:18:00';
    // on se connecte à MySQL
    $db = mysql_connect("localhost", "root", "");
     
     
    // on crée la requête SQL
    $sql = "SELECT CASE WHEN MINUTE(TIMEDIFF(NOW(),'".$drz."')) < 10 THEN 'oui' ELSE 'non' END AS duree";
     
    // on envoie la requête
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
    // on fait une boucle qui va faire un tour pour chaque enregistrement
    while($data = mysql_fetch_assoc($req))
        {
        // on affiche les informations de l'enregistrement en cours
        echo $data['duree'];
    echo '<br>';
    		if($data['duree'] == 'oui')
    				{
    					echo 1;
    				}
    			else
    				{
    					echo 2;
    				}
        }

Discussions similaires

  1. Comment comparer deux dates
    Par vodevil dans le forum Modules
    Réponses: 6
    Dernier message: 01/09/2005, 18h24
  2. comparer deux dates
    Par adel25 dans le forum C++
    Réponses: 3
    Dernier message: 23/08/2005, 20h29
  3. Comparer deux dates
    Par LoicH dans le forum C++Builder
    Réponses: 4
    Dernier message: 04/03/2005, 22h53
  4. comment comparer deux dates?
    Par billoum dans le forum C++Builder
    Réponses: 2
    Dernier message: 21/08/2004, 21h08

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