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 et un nombre


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 50
    Par défaut Comparer une date et un nombre
    Bonjour,

    Je suis actuellement en stage. Il m'a été demandé de réaliser des contrôles sur le matériel et les équipements. Par exemple, un détecteur co est valide que 10 ans.

    Pour cela, dans une table type matériel j'ai la durée de vie (ex:120 mois). Et dans une autre table materiel j'ai la date de mise en service.

    Je souhaiterai faire que si la date de service + 10 ans (120) est dépassé alors j'écris en rouge. Si quelqu'un pourrais m'aider cela m'aiderai bien.

    Merci

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonjour,

    tu instancies un objet Datetime avec la date de mise en service.
    Ensuite tu instancies un autre Datetime avec la date d'haujourd'hui et tu fais la différence, si cela est supérieur au temps de validité alors tu fais une alerte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $date_mise_fonction = new Datetime($date_recup_db);
    $date_du_jour = new Datetime();
     
    $diff = $date_mise_fonction->diff($date_du_jour);
     
    if($diff->m > 120){
     
    echo 'affiche erreur'
     
    }
    MaitrePylos

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    la question est de savoir comment est enregistrée la date dans la base de données :
    - format DATE ?
    - format TIMESTAMP ?
    - ... ?

    Ps : pour la class Datetime (PHP5), c'est ici

  4. #4
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 50
    Par défaut
    Alors ma date de mise en service est au format date. et la duree est un varchar.

    J'avai attaqué à faire ceci mais après je suis bloqué et je sais pas si il faut faire comme ca:

    $datemes=$row_materiel['DATEMISESERVICE'];
    $datemes = mktime(date("m")-2, date("d"), date("y"));
    $duree=$duree *30*24*60*60;
    $ecart = $datemes - $duree;

    Merci de vos réponse

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par amandev Voir le message
    Alors ma date de mise en service est au format date
    OK.
    et la duree est un varchar.
    Pourquoi ce n'est pas un nombre entier ?
    Quelles valeurs peut elle prendre ?
    > toujours exprimée en nombre de mois ?
    > ou autre ?

    => Soit plus précise, et/ou donne des exemples de valeurs.
    Ca aidera à écrire le script !

    Ps : as-tu essayé le script donné précédemment par MaitrePylos ?

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 50
    Par défaut
    Oui j'ai essayé son script mais il ne marche pas chez moi.

    Si tu veux ma table type_matériel est composée:
    INDEXTYPE int(30)
    LIBELLETYPE varchar(50)
    CATEGORIETYPE varchar(10)
    TYPECONTROLE varchar(40)
    DUREEVIETYPE varchar(20)
    PREFIXETYPE varchar(15)

    Dans mon autre table matériel, il y a ma date de mise en service.

    Ma duree de vie est exprimée en mois ou au nombre de lavage. Par exemple, elle peut prendre 120, 40 (120 et 40 sont des mois), 50 ou 25(nombre de lavage).

    $typectrl=$row_datefin['TYPECONTROLE']; //recupere mon type c'est-à-dire si c'est lavage,une durée ou aucun
    $duree=$row_datefin['DUREEVIETYPE'];//je recupere la durée de vie

    if($typectrl=="DUREE"){ $datemes=$row_materiel['DATEMISESERVICE'];
    $datemes = mktime(date("m")-2, date("d"), date("y"));
    $duree=$duree *30*24*60*60;
    $ecart = $datemes - $duree;
    }
    }elseif($typectrl=="LAVAGE"){
    }elseif($typectrl=="AUCUN"){
    }

    Merci de ton aide jreaux62

  7. #7
    Invité
    Invité(e)
    Par défaut
    Modifie tes messages (clique sur le bouton "Modifier" dans chaque message), en utilisant le bouton "code" (#)
    (démonstration de l'utilisation du bouton code (#) )

    Ton code sera plus lisible sur le forum.
    Citation Envoyé par amandev Voir le message
    Ma duree de vie est exprimée en mois ou au nombre de lavage.
    Du coup, il faut faire 2 scripts/calculs distincts.

Discussions similaires

  1. Comment vérifier et comparer une date?
    Par denis907 dans le forum ASP
    Réponses: 5
    Dernier message: 31/07/2007, 23h06
  2. [Dates] Comparer une date à celle du jour
    Par godjojo dans le forum Langage
    Réponses: 2
    Dernier message: 12/07/2007, 09h36
  3. comment comparer une date et une heure ?
    Par developpeur62 dans le forum Hibernate
    Réponses: 2
    Dernier message: 03/11/2006, 10h04
  4. Comment comparé une date dans une requête?
    Par ghan77 dans le forum Bases de données
    Réponses: 3
    Dernier message: 29/04/2006, 10h22
  5. [DB2] - Comparer une date à la date système
    Par rémi_tounul dans le forum DB2
    Réponses: 3
    Dernier message: 19/05/2005, 11h45

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