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 :

Condition sur l'heure de Datetime [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 110
    Par défaut Condition sur l'heure de Datetime
    Salut!

    Voici mon souci, j'ai un champ datetime ou les dates (XX/XX/XXXX) sont remplies. Par contre pour l'heure, beaucoup sont à 00:00:00.

    J'ai créé deux fonctions pour séparer la date de l'heure (avec les secondes enlevées) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function date_fr($date) 
    {
    		return substr($date,8,2) . "/" . substr($date,5,2) . "/" . substr($date,0,4);
    }
     
    function heure($date) 
    {
    		return substr($date,11,5);
    }

    Dans ma requête, je fais une condition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $heure = heure($results['date']);
    if ($heure = "00:00"){
    $heure = "";
    }else{
    $heure = "à ".heure($results['date']);
    }
    Le résultat m'affiche "à sans l'heure" pour toutes les dates qu'elles aient un format XX/XX/XXXX 00:00 ou XX/XX/XXXX 15:20.
    Quelqu'un aurait une idée?

    Merci d'avance!

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si c'est une colonne DATETIME, le format n'est pas JJ/MM/AAAA.

    Sinon c'est "==" et non "=" ; et tu utilises deux fois la fonction pour rien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $heure = heure($results['date']);
    if ($heure == "00:00"){
    $heure = "";
    }else{
    $heure = "à ". $heure;
    }
    Prends quand même en compte qu'il existe autant en mysql qu'en PHP des fonctions pour manipuler les dates au lieu de faire du découpage de chaine à la main.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 110
    Par défaut
    Merci pour ta réponse Sabotage.

    Oui pour datetime la structure est de type XXXX-XX-XX 00:00:00 mais je parlais de l'affichage avec la fonction date_fr.

    En faisant les modifs, j'ai toujours le même souci. "à" sans l'heure s'affiche sur toutes mes dates que l'heure soit 00:00 ou différente...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu as contrôlé ce que valait $heure et $results['date'] avant le test if ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 110
    Par défaut
    Erreur de ma part sur le $results, tout fonctionne parfaitement!
    Merci Sabotage!

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

Discussions similaires

  1. condition sur date et heure
    Par Invité dans le forum Langage SQL
    Réponses: 1
    Dernier message: 17/08/2009, 20h26
  2. condition sur un champ du type datetime
    Par moha_alnif dans le forum Requêtes
    Réponses: 2
    Dernier message: 30/04/2009, 20h59
  3. [XI R2] Condition sur des objets "date-heure"
    Par bastoonet dans le forum Deski
    Réponses: 2
    Dernier message: 09/09/2008, 17h21
  4. condition sur des heures
    Par olisan dans le forum Excel
    Réponses: 2
    Dernier message: 03/04/2008, 11h24
  5. [BO 5] Condition sur DateTime
    Par barnard dans le forum Deski
    Réponses: 5
    Dernier message: 22/01/2008, 14h04

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