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 :

Calculer un nombre de jour


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 38
    Par défaut Calculer un nombre de jour
    Bonjour,

    J'ai une table comme suit pour afficher des informations :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
      `info_id` int(11) NOT NULL auto_increment,
      `info_date_debut` datetime NOT NULL default '0000-00-00 00:00:00',
      `info_date_fin` datetime NOT NULL default '0000-00-00 00:00:00',
      `info_texte` text NOT NULL,
      `info_lundi` tinyint(4) NOT NULL,
      `info_mardi` tinyint(4) NOT NULL,
      `info_mercredi` tinyint(4) NOT NULL,
      `info_jeudi` tinyint(4) NOT NULL,
      `info_vendredi` tinyint(4) NOT NULL,
      `info_samedi` tinyint(4) NOT NULL,
      `info_dimanche` tinyint(4) NOT NULL,
      `info_redondance` enum('Jours','Semaines','Mois') NOT NULL default 'Jours',
      `info_pairs` enum('0','1') NOT NULL default '1',
      `info_impairs` enum('0','1') NOT NULL default '1'
    Comme vous pouvez le voir, une information peut être répétée d'une date à une autre selon des Jours ou Semaines ou Mois pairs ou impairs selon une périodicité (lundi, mardi, mercredi, ...).

    Je n'arrive pas à faire un calcul du nombre de jour que couvre une information selon tous mes éléments...

    Pouvez-vous m'aider ?

    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
    Ca va etre une sacré usine a gaz.

    Ce que je verrais comme methode :

    - recuperer les infos de la plage traitée
    - parcourir la plage jour par jour
    - pour chaque jour traiter chaque condition
    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
        if ($lundi == 1 && njoursemaine_traite != 1) {
           $exclusion = 1;
        }
     
           if ($mardi == 1 && njoursemaine_traite != 2) {
           $exclusion = 1;
        }
     
        if ($redondance == 'mois' && njour_traite != jour_redondance) {
           $exclusion = 1;
        }
     
       ...
     
       if ($exclusion == 0) {
           $nbre_jours++
       }

    Mais comme tu le vois peut etre, ta stucture est mauvaise :
    Que signifierait une redondance mensuel du 21 avril 2009 au 24 avril 2010 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 38
    Par défaut
    Merci de ta réponse, c'est vrai que c'est une usine à gaz... c'est pour ça que je poste...

    Mais comme tu le vois peut être, ta structure est mauvaise :
    Que signifierait une redondance mensuel du 21 avril 2009 au 24 avril 2010 ?
    Ma redondance va avec les champs `info_pairs` et `info_impairs`, si `info_pairs` = 1 et `info_impairs` = 0 alors la période du 21 avril 2009 au 24 avril 2010 ne prendrait que les mois pairs (Février, Avril, Juin, Aout, Octobre, Décembre, Février, Avril)...

    Je sèche un peu...

  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
    Qu'est ce qui ne te vas pas dans la solution que j'ai proposé ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 38
    Par défaut
    Heu... je ne vois pas trop comment parcourir les dates depuis ma date de début jusqu'à ma date de fin...

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/08/2006, 14h43
  2. [Dates] Calculer le nombre de jours dans le mois suivant...
    Par Life Hunter dans le forum Langage
    Réponses: 5
    Dernier message: 14/03/2006, 00h01
  3. Calculer le nombre de jours restants
    Par localhost dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 27/01/2006, 17h31
  4. [Optimisation][Fonction]calcul du nombre de jours ...
    Par m-mas dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 26/10/2005, 14h39
  5. calcule du nombre de jours entre 2 dates
    Par nazimb dans le forum ASP
    Réponses: 4
    Dernier message: 28/09/2004, 15h22

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