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

EDI, CMS, Outils, Scripts et API PHP Discussion :

[Calendrier] afficher liste date echance a 60 jours


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Collégien
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 17
    Par défaut [Calendrier] afficher liste date echance a 60 jours
    Bonjour j'aimerais afficher la liste des assurances qui arrive a échéance dans 60 jours et que l'assurance reste afficher dans la liste jusque au jour de l'échéance.
    et le tout calculer sur la date du début du contrat annuel (date_deffet) en format 2012-01-14
    Voici un début de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $select = "SELECT count(id) FROM gestion_assur_vehicule WHERE validite_contrat='En cours' AND DATE_FORMAT(date_deffet, '%m-%d') <= DATE_FORMAT(NOW() + INTERVAL 60 DAY, '%m-%d') AND DATE_FORMAT(date_deffet, '%Y') < DATE_FORMAT(NOW(), '%Y')";
     
     
     
    $result = mysql_query($select,$db) or die ('Erreur : '.mysql_error() );
    $row = mysql_fetch_row($result);
    $total = $row[0];
     
    $select = "select * FROM gestion_assur_vehicule WHERE validite_contrat='En cours' AND DATE_FORMAT(date_deffet, '%m-%d') <= DATE_FORMAT(NOW() + INTERVAL 60 DAY, '%m-%d') AND DATE_FORMAT(date_deffet, '%Y') < DATE_FORMAT(NOW(), '%Y') ORDER BY id ASC limit $limite,$nombre";
    pour la date de debut 2012-03-01 jour en fonction d'aujourd'hui 2013-01-23
    j'affiche a partir du 2013-01-01 jusqu'au 2013-03-01 avec un décompte
    exemple décompte la réponse est Il reste 37 jour(s)

    seul soucis c'est que si j'ai une date de debut 2012-01-01 je devrais afficher a partir du 2012-11-01 jusqu'au 2013-01-01 ok hors on est le 2013-01-23 et normalement je ne devrait plus la voir pourtant il s'affiche et m'annonce Il reste -22 jour(s)

    Merci d'avance pour votre aide.

  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
    Beaucoup plus simplement ta condition est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    date_deffet <= DATE_ADD(CURDATE(), INTERVAL 60 DAY)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Collégien
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 17
    Par défaut
    Bonsoir, Merci de m'aider. J'ai tester:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $select = "SELECT count(id) FROM gestion_assur_vehicule WHERE validite_contrat='En cours' AND date_deffet <= DATE_ADD(CURDATE(), INTERVAL 60 DAY) AND DATE_FORMAT(date_deffet, '%Y') < DATE_FORMAT(NOW(), '%Y')";
     
    $result = mysql_query($select,$db) or die ('Erreur : '.mysql_error() );
    $row = mysql_fetch_row($result);
    $total = $row[0];
     
    $select = "select * FROM gestion_assur_vehicule WHERE validite_contrat='En cours' AND date_deffet <= DATE_ADD(CURDATE(), INTERVAL 60 DAY) AND DATE_FORMAT(date_deffet, '%Y') < DATE_FORMAT(NOW(), '%Y') ORDER BY id ASC limit $limite,$nombre";
    mais voila ce que cela m'affiche:


  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
    Si tu ne veux pas afficher les dates d'échéances passées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    date_deffet BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 60 DAY)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Collégien
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 17
    Par défaut
    Donc si je te suis voici le code que ça donne: (résulta: aucun)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $select = "SELECT count(id) FROM gestion_assur_vehicule WHERE validite_contrat='En cours' AND date_deffet BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 60 DAY)";
     
    $result = mysql_query($select,$db) or die ('Erreur : '.mysql_error() );
    $row = mysql_fetch_row($result);
    $total = $row[0];
     
     
    $select = "select * FROM gestion_assur_vehicule WHERE validite_contrat='En cours' AND date_deffet BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 60 DAY) ORDER BY id ASC limit $limite,$nombre";

  6. #6
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Collégien
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 17
    Par défaut
    JE vais tenter de m'exprimer autrement pour une meilleur compréhension:

    information $date_aujourdhui = date d'aujourd'hui
    information $date_deffet = date du debut du contrat
    information $date_defin = $date_deffet + 1 an

    La condition est:
    afficher contrat si $date_defin est compris entre la $date_aujourdhui et ($date_aujourdhui - 60 jours)


    En gros ça devrait ressembler a ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $select = "SELECT count(id) FROM gestion_assur_vehicule WHERE NOW() BETWEEN date_deffet +1 an +60 jour AND date_deffet +1 an ";
    Merci d'avance

  7. #7
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    Si j'ai bien compris, il faut ceux des années passées (dont pas 2013) jusqu'à échéance (donc plus ceux de 01/01 au date du jour) mais sur les 60 jours restants ???

    Ex : ça peut être un contrat de 2008 et si date d'effet le 14/02 de l'année alors il y a affichage ?

    @Sabotage Parceque le between ne marchera pas car dans l'année courante

    Il faut tout faire avec le date format ... je regarde su mes questions sont bonnes

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/04/2015, 14h44
  2. Calendrier affichant les dates d'une BDD
    Par caolsoll77 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 09/06/2010, 12h48
  3. Calendrier - afficher plusieurs dates sélectionnées
    Par eristoff53 dans le forum ASP.NET
    Réponses: 0
    Dernier message: 20/03/2009, 12h44
  4. Liste dates en fonction du jour semaine
    Par alcabk dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 09/10/2007, 12h00
  5. [Conception] afficher la date de la mise à jour la plus récente
    Par dedel53 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 16/03/2007, 00h43

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