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

Langage PHP Discussion :

Afficher les dates mensuelles successives dans un tableau en fonction d'une date de départ et d'une durée


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 293
    Par défaut Afficher les dates mensuelles successives dans un tableau en fonction d'une date de départ et d'une durée
    Après récupération du $_post['date'] du formulaire:
    exemple à dater de ce jour soit le 18/11/2011 j'aimerais afficher dans un tableau automatiquement les dates mensuelles en fonction d'une durée t=3mois par exemple
    A savoir:les dates suivantes dans un tableau
    18/11/2011(date de départ)
    18/12/2011
    18/01/2012
    18/02/2012
    Le problème c'est que je ne vois pas comment manipuler la date avec ses mois et année pour utiliser le for conseillé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     for ($i=0;$i<4; $i++)
     { 
       $mois = (($moisCourant-1 + $i) % 12)+1;
        $annee= ($anneeCourante + ((($moisCourant+$i)>12) ? 1 : 0 )); 
     }
    Sincères remerciements pour votre aide
    Claudine

  2. #2
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Hello

    Il faut utiliser strtotime

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $from = $current = time();
    $month_span = 3;
     
    do {
      echo date('d/m/y', $current) . '<br />';
    } while (($current = strtotime('+1 month', $current)) && $month_span--);
    Et voilà...

  3. #3
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 347
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 347
    Billets dans le blog
    17
    Par défaut
    +1 month ou next month (j'aime bien l'expressivité de strtotime( )).
    Ceci dit il va probablement y avoir un effet de bord si la date de départ est par exemple 31/10 ou 31/12.

    Claudine, quelle est la finalité de la chose ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 293
    Par défaut
    Bonjour Benjamin Delespierre,
    Sincères remerciements pour ces lignes de code et veuillez m'excuser pour ce contre-temps(problèmes de santé).
    Malheureusement ,(c'est ma faute car j'ai parlé de date de ce jour ) la date introduite par le formulaire est quelconque et ces lignes ne fonctionnent que pour la date du jour. Voulez-vous adapter pour la récupération du formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $date=$_POST['date'];
    car si j'indique $date au lieu de date dans l'echo il m'indique le code d'erreur: date indéfinie
    Salutations
    Claudine

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 293
    Par défaut
    Bonjour Séb,
    Merci pour votre commentaire éclairé.
    En ce qui concerne la finalité: j'aimerai créer un tableau personnel d'amortissements d'un prêt en vue de récupérer les sommes des intérêts et capitaux remboursés mensuellement et annuellement en vue d'adapter la situation indiciaire de l'année .
    Je veux essayer en PHP mais je doute de mes capacité et de la possibilité de le réaliser avec PHP.Avant de poursuivre , est-ce réalisable par cette méthode?
    remerciements pour vos conseils.
    Claudine

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 347
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 347
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Claudine Voir le message
    j'aimerai créer un tableau personnel d'amortissements d'un prêt en vue de récupérer les sommes des intérêts et capitaux remboursés mensuellement et annuellement en vue d'adapter la situation indiciaire de l'année .
    Je veux essayer en PHP mais je doute de mes capacité et de la possibilité de le réaliser avec PHP.Avant de poursuivre , est-ce réalisable par cette méthode?
    Pas de souci du côté de PHP. Donne les données attendues en entrée/sortie et la méthode de calcul si tu veux un peu d'aide ;-)

  7. #7
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Citation Envoyé par Claudine Voir le message
    Bonjour Benjamin Delespierre,
    Sincères remerciements pour ces lignes de code et veuillez m'excuser pour ce contre-temps(problèmes de santé).
    Malheureusement ,(c'est ma faute car j'ai parlé de date de ce jour ) la date introduite par le formulaire est quelconque et ces lignes ne fonctionnent que pour la date du jour. Voulez-vous adapter pour la récupération du formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $date=$_POST['date'];
    car si j'indique $date au lieu de date dans l'echo il m'indique le code d'erreur: date indéfinie
    Salutations
    Claudine
    Il faut convertir la date saisie en timestamp (entier) toujours avec strtotime. Ou la découper et utiliser mktime si cette date n'est pas reconnue par strtotime.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 293
    Par défaut
    Bonsoir Séb,
    voici mon travail de deux jours avec un formulaire pour introduire les principales caractéristiques d'un emprunt(somme empruntée, taux, durée et date) que je vous soumet:
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    	   "http://www.w3.org/TR/html4/loose.dtd">
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">	
    <html>
    <style type="text/css">
    <!--
    .Style1 {font-family: Verdana, Arial, Helvetica, sans-serif}
    .Style2 {font-family: "Times New Roman", Times, serif}
    -->
    </style>
    <head>
     
    <title> FORMULAIRE </title>
     
    </head>
    <body>
     
    <form method="post" action= "Exposantnegatif.php">
    <h1 class="Style1"> <font size="4">Formulaire d'emprunt</font></h1>
    <table width="408" border="1" cellspacing="0" bordercolordark="white" bordercolorlight="black" align="center">
    <tr>
    <td width="153"> <span class="Style1"><font size="3">Montant de l'emprunt </font></span></td>
    <td width="245"><span class="Style2"><font size="3">
      <INPUT type="text" value="" name="Montant" size="10" maxlenght="8"> 
      en €</font></span></td>
    </tr>
    <tr>
    <td width="153">  <font size="3" face="Verdana">Durée de l'emprunt </font></td>
    <td width="245"><font size="3" face="Verdana"><INPUT type="text" value="" name="Duree" size="10" maxlenght="8">en mois</font></td>
    </tr>
    <tr>
    <td width="153"> <font size="3" face="Verdana">Taux d'intérêt </font></td>
                <td width="245">
                    <p align="left"><font size="3" face="Verdana"><INPUT type="text" value="" name="Taux" size="10" maxlenght="8"> % par an</font></td>
        </tr>
     
    <tr>
     
    <tr>
    <td width="153"><font size="3" face="Verdana">Date de l'emprunt</font></td>
    <td width="245"><font size="3" face="Verdana"><INPUT type="text" value="" name="Date" size="3" maxlenght="3"> jj/mm/aaaa</font></td
    ></tr>
     
     
     
     
     
      </table>
     
        <p align="center"><input type="submit" value="Soumettre">
    </p>
    </form>
    </body>
                    </html>
    puis le tableau d'amortissement que je veux remplir après calcul:
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
     
    <?php
    //*$duree=$_POST['Duree'];
    $duree=$_POST['Duree'];
    $n=$duree;
    for ($i=1;$i <=$n-1; $i++)
    //echo'Ech'.$i.'<br/>;
    ?>
    <?php
    $date=$_POST['Date'];
    //*Calculs pour déterminer la mensualité à payer.
     
    //*a)Montant du capital emprunté
    $montant=$_POST['Montant'];//Récupération de la  valeur du formulaire
    $c=$montant;
    //$c=3300.90;
    //* b)Taux annuel en %
    $taux=$_POST['Taux'];//Récupération de la valeur du formulaire
     
    $t=$taux;
     
    //*c)Durée du prêt en mois
    $duree=$_POST['Duree'];//Récupération de la valeur du formulaire
     
    $n=$duree;
     
     
    // Calcul de la mensualié à payer(constante
    $tpc=$t/100;
     
    $tm=$tpc/12;
    //$n=36;// la durée en mois
    $num=$c*$tm;
    //echo$num
    //denominateur...............
     
    $yp=1+$tm;
    //echo$yp
    $y=pow($yp,-$n);
    $deno=1-$y;
    $m=$num/$deno;
    //echo round($m, 2);
     
    //* Remboursement en intérêts
    $RembI=$c*$t/1200;
    //$RembI=$RenI;
    ?>
    <?php
    //*Remboursement en capital
    $RembC=$m-$RembI;
    //boucle N°d'échéance
    //$n=$_POST['Duree'];
    //Solde Créance
    $SC=$n*$m
    //**************************************************************************
    //<strong><u>Toutes les formules</u></strong>
    //* Calcul du SoldeCapitalRestantDu:(SCRD)
    //Echéance1: =Capital(c) de départ
    //Echéance2: =SCRD1-Remboursement En Capital2
    //Echéance3: =SCRD2-Remboursement En Capital3 et aisi de suite
     
    //Remboursement en capital
    //RemboursEnCapital(1)=$m-RemboursEnInterets1
    //RemboursEnCapital(2)=$m-RemboursEnInterets2
     
    //remboursement en intérêts
    //RemboursEnIntérêts(1)=$c1*$t/1200
    ////RemboursEnIntérêts(2)=$c2*$t/1200
     
    //Solde créance1= nbre d'échéances($n=36)*Mensualité à payer soit($n*$m)-$m
    //Solde créance2= nbre d'échéances($n=35)*Mensualité à payer soit($n*$m)-$m
    //************************************************************************
    ?>
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
     
    <link rel="stylesheet" media="screen" type="text/php" title="formulaireEmprunt" 
    <title> FORMULAIRE </title>
    </head>
    <body>
    <h1> <font size="2" face="Verdana"><b>Plan de remboursement</b></font><font face="Verdana"></font></h1>
     
     
     
     
     
    <table border="1" cellspacing="0" bordercolordark="white" bordercolorlight="black" align="center">
    <tr>
          <td> 
            <p align="center"><font size="1" face="Verdana">N°Echeance <u></u></font></p>
            <td> 
            <p align="center"><font size="1" face="Verdana">DateEcheance <u></u></font></p>
            <td>
            <p align="center"><font size="1" face="Verdana">SoldeCapitalRestantDu<u></u></font></p>
            <td> 
            <p align="center"><font size="1" face="Verdana">SoldeCreance <u></u></font></p>
            <td>
            <p align="center"><font size="1" face="Verdana">RembEnCapital<u></u></font></p>
            <td> 
          <p align="center"><font size="1" face="Verdana">RembEnInterets <u></u></font></p>
            <td>
            <p align="center"><font size="1" face="Verdana">MensualiteAPayer<u></u></font>        <td> 
     
     
    <font size="1" face="Verdana"><u></u></font></tr>
    <tr>
           <td> 
         <p align="center"><font size="1" face="Verdana"><u><?php echo round($i, 2)  ?> </u></font></p>
            </td>
     
            <td> 
         <p align="center"><font size="1" face="Verdana"><u><?php echo $date=$_POST['Date'] ?> </u></font></p>
            </td>
            <td> 
                <p align="center"><font size="1" face="Verdana"><u><?php echo $c ?> </u></font></p>
            </td>
            <td> 
                <p align="center"><font size="1" face="Verdana"><u><?php echo round($SC, 2)?> </u></font></p>
            </td>
            <td> 
                <p align="center"><font size="1" face="Verdana"><u><?php echo round($RembC, 2) ?></u></font></p>
            </td>
            <td> 
                <p align="center"><font size="1" face="Verdana"><u><?php echo round($RembI, 2)?></u></font></p>
            </td>
     
     
              <td> 
                <p align="center"><font size="1" face="Verdana"><u><?php echo round($m, 2) ?></u></font></p>
            </td></tr>
    <font size="1" face="Verdana"><u>
    </u></font>
    </body>
    j'arrive à afficher toutes les données correspondant à la 1ère échéance mais pas la suite car les variables changent en tenant compte des formules....
    Bref,j'ai besoin d'un coup de pouce pour afficher toutes les échéances correspondant à la durée exprimée en mois et adapter les formules au N°d'échéance.Le problème de l'affichage des dates correspondant aux échéances subsiste !
    Sincères remerciements pour votre aide
    Claudine

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/11/2014, 17h03
  2. Réponses: 3
    Dernier message: 18/11/2011, 16h23
  3. [Dates] Afficher les jours du mois dans un formulaire
    Par Jimmy Monkey dans le forum Langage
    Réponses: 7
    Dernier message: 30/12/2007, 11h27
  4. Réponses: 2
    Dernier message: 13/06/2006, 15h45
  5. Réponses: 2
    Dernier message: 23/11/2003, 18h44

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