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 :

tester un champ datetime mysql [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Giantrick
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    300
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 300
    Par défaut tester un champ datetime mysql
    Bonjour à tous,

    je suis bloqué sur le traitement d'une variable date provenant d'une table mysql.

    J'ai un champ au format DATETIME "0000-00-00 00:00:00" qui est correctement implémenté dans la table.

    Par ailleurs, je souhaite en tester le résultat après lecture de cette table pour afficher ou non une partie de script PHP.

    Mais je n'arrive pas à poser la bonne condition dans mon IF (ci-dessous).

    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
     
     
    $qu_mail_histo = "SELECT * FROM contact_email WHERE id_contact_email='$_GET[id_contact_email]'";
    $re_mail_histo = mysql_query($qu_mail_histo);
    $val_mail_histo = mysql_fetch_array($re_mail_histo);
     
    $date_reponse=	$val_mail_histo['date_reponse'];
     
    if($date_reponse<>"0000-00-00 00:00:00"); // si la date de réponse est à zéro alors le script ci-dessous s'affiche sinon c'est le ELSE qui s'affiche.
    		{
    		echo "toto me prend la tete";
                    }
    else
    	       {
    		echo "toto est content";
                    }
    il n'interprète pas correctement le IF et du coup cela ne fonctionne pas comme je veux.

    Merci d'avance de votre aide.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Par défaut
    un te donne quoi? Cela dépend dont ton champ date est initialisé dans ta base!

  3. #3
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    Je ne pense pas que un DATETIME puisse etre egal à 0 :
    Citation Envoyé par MYSQL documentation
    The DATETIME type is used when you need values that contain both date and time information. MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD HH:MM:SS' format. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'.
    De plus, je pense que en raisonnant en timestamp, les comparaisons sont plus aisées :
    comment fais tu le test pour savoir si une date est supérieur a une autre ?
    Certe lors d'un echo, c'est moins lisible par l'homme...
    Z.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Par défaut
    Un champ peut être égal à NULL si l'on veut. Si tu veux manipuler un timestamp UNIX, tu as la fonction SQL : UNIX_TIMESTAMP()

  5. #5
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    un champ DATETIME NULL equivaut-il à "0000-00-00 00:00:00" ?
    Et un TIMESTAMP NULL ?

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Août 2007
    Messages : 109
    Par défaut
    bonjour,

    le point virgule à la fin de la ligne du IF est une erreur de recopie ?

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Par défaut
    le point virgule à la fin de la ligne du IF est une erreur de recopie ?
    ah j'l'avais pas vu celui là... bien joué romulus1206

  8. #8
    Membre éclairé Avatar de Giantrick
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    300
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 300
    Par défaut
    Citation Envoyé par fucce Voir le message
    ah j'l'avais pas vu celui là... bien joué romulus1206
    Merci à vous deux (Fucce et romulus)....

    c'est comme le petit clou qui gêne la guillotine de tomber... c'est la "bêtise" qui arrive et du coup cela ne fonctionne pas....

    Heureusement qu'il y a la communauté de Développez.net....

    ca marche super mieux sans le ";" à la fin du IF.....

    je ne l'avais même pas vue, mais lorsqu'on est la tête dans le guidon....

    cela m'a fait perdre deux bonnes heures à tout tester alors que je croyais que c'était un problème de format DATETIME, mais pas du tout.

    encore merci à tous.

    A plus tard.
    ps : merci aux autres aussi

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/11/2011, 18h00
  2. Recuperer la date sans l'heur dans un champ datetime
    Par bob33 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 22/06/2010, 12h59
  3. Champ DATETIME en MySQL
    Par Jolt0x dans le forum Débuter
    Réponses: 3
    Dernier message: 07/03/2010, 02h31
  4. Tester un champ dans une table mysql
    Par bullrot dans le forum C++Builder
    Réponses: 20
    Dernier message: 19/11/2007, 19h08
  5. Réponses: 3
    Dernier message: 23/09/2003, 09h12

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