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

JavaScript Discussion :

Comment ordonner en colonne des crédits qui ont été lissés


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Points : 183
    Points
    183
    Par défaut Comment ordonner en colonne des crédits qui ont été lissés
    Bonjour a tous,

    Oui je sais qu'il est trés tot, mais j'ai besoin de votre aide s'il vous plait, car je n'ai pas réussi a trouver la solution cette nuit.

    Voila je réalisé un script de lissage de crédit, et il y a tant d'exemples sur le net qui n'affiche pas le code que je galère carrément...

    Voila j'ai donc 3 crédits, par exemple, que je saisi dans des champs d'un formulaire, sans respecter l'ordre des durées

    1 - J'ai une durée par exemple de 15mois, un taux X et avec le montant je determine la mensualité, jusque l'a pas de probleme,
    2 - J'ai une durée par exemple de 180mois, un taux X et avec le montant je determine la mensualité, jusque l'a pas de probleme,
    3 - J'ai une durée par exemple de 80mois, un taux X et avec le montant je determine la mensualité, jusque l'a pas de probleme,

    Le probleme arrive quand je souhaite afficher les resultats en colonne en demandant de respecter la croissance des durées, comme ci-dessous :


    EMPRUNT........ Montant........Durée(mois).......taux............mensualité............... 80.................200................300
    Credit 1.......... 250 000............300.................3.............1185.53€................922.57..............922.57.............1956.33.
    Credit 2.......... 30 000..............80..................5...............441.74€.................441.74..................0.................0.
    Credit 3.......... 125 000............200.................3.5............804.15€................592.02..............1033.76............0.
    Total ............ 405 000..................................3.5............-----------...............1956.33..............1956.33...........1956.33.


    Avez vous une idée s'il vous plait, ne sachant pas si je dois passer par PHP ou Javascript, et dans les deux cas , je n'ai trouvé aucune solution.

    Milles merci a toute aide.

    Olivier

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 223
    Points : 15 516
    Points
    15 516
    Par défaut
    si vous connaissez les formules de calculs des différentes valeurs de ce tableau, il n'y a pas de problème pour faire cela en PHP et JavaScript.
    une fois les valeurs du tableau calculées, vous pouvez trier les valeurs :
    - en PHP : https://secure.php.net/manual/fr/function.usort.php
    - en JavaScript : https://developer.mozilla.org/fr/doc...aux/Array/sort

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 634
    Points : 66 650
    Points
    66 650
    Billets dans le blog
    1
    Par défaut
    C'est réalisable en js avec un simple sort sur le tableau, plus précisément sur la collection des tr avec une fonction de tri perso basé sur le contenu du td durée

    https://jsfiddle.net/ez3Lw6o2/23/
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Points : 183
    Points
    183
    Par défaut
    En fait c'est très simple de compréhension mais non applicable au reste de mon script, je m'explique :

    Comme c'est du Jquery, pour appliquer ce code je dois passer imperativement par l'ajax, car j'ai d'autres jquery sur la page initiale et il y a une incompatibilité entre les versions, du coup ça complique.

    Voila mon code de base , y' a t'il une possibilité pour appliquer un code qui ne m'oblige pas a passer par de l'ajax ?
    Code php : 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
    <?php
    echo '
      <label class="col-md-12"><b>Plan de Financement</b></label>
      <div class="col-md-12">
        <div class="form-group normal">	
          <div class="col-sm-1" colspan="2"><u>Prêt</u></div>
          <div class="col-sm-1">Montant</div>
          <div class="col-sm-1">Durée (mois)</div>
          <div class="col-sm-1">Taux Crédit</div>
          <div class="col-sm-1">Mensualité</div>
          <div class="col-sm-1">Taux ASS</div>
          <div class="col-sm-1">Mens ASS </div>
          <div class="col-sm-1"></div>
          <div class="col-sm-1"></div>
          <div class="col-sm-1"></div>
          <div class="col-sm-1"></div>
          <div class="col-sm-1"></div>
        </div>';																
        $rescred = mysql_query("SELECT * FROM `".$sufftable."dem_immo_cred` where idCLIENT='$client' order by nbcred asc");
        while($clcred = mysql_fetch_array($rescred, MYSQL_ASSOC))
        {
        for ($i = 1; $i <= 6; $i++) 
        {
        if ($clcred['pf_nature_'.$i] =="1"){$nclcred="Apport Personnel";}
        if ($clcred['pf_nature_'.$i] =="2"){$nclcred="Prêt Taux Fixe";}
                                                                                            // etc...
        echo '  	
        <div class="form-group normal">
          <div class="col-sm-1"><div class="input-group"><span class="input-group-addon"> <b>'.$i.'</b> </span>
            <select name="pf_nature_'.$i.'" id="pf_nature_'.$i.'" class="form-control tooltips" onchange="envoi_immo_cred(\'pf_nature_'.$i.'\','.$client.','.$trian.','.$i.');" data-original-title="Nature du Plan de Financement" data-placement="bottom">
            <option disabled>Organisme</option>';if ($clcred['pf_nature_'.$i]<>''){echo '<option value="'.$clcred['pf_nature_'.$i].'" selected="selected">'.$nclcred.'</option>';} echo '<option value=""></option>
            <option value="1">Apport Personnel</option>
            <option value="2">Prêt Taux Fixe</option>
    
            </select>
          </div></div>
          <div class="col-sm-1"><input type="text" class="form-control tooltips" id="pf_montant_'.$i.'" name="pf_montant_'.$i.'" value="'.$clcred['pf_montant_'.$i].'" placeholder="Montant" onblur="envoi_immo_cred(\'pf_montant_'.$i.'\','.$client.','.$trian.','.$i.');calcsynt ('.$client.','.$trian.')" data-original-title="Montant" data-placement="bottom"></div>
          <div class="col-sm-1"><input type="text" class="form-control tooltips" id="pf_duree_'.$i.'" name="pf_duree_'.$i.'" value="'.$clcred['pf_duree_'.$i].'" placeholder="Durée" onblur="envoi_immo_cred(\'pf_duree_'.$i.'\','.$client.','.$trian.','.$i.')" data-original-title="Durée" data-placement="bottom"></div>
          <div class="col-sm-1"><input type="text" class="form-control tooltips" id="pf_taux_'.$i.'" name="pf_taux_'.$i.'" value="'.$clcred['pf_taux_'.$i].'" placeholder="Taux" onblur="envoi_immo_cred(\'pf_taux_'.$i.'\','.$client.','.$trian.','.$i.')" data-original-title="Taux" data-placement="bottom"></div>
          <div class="col-sm-1"><input type="text" class="form-control tooltips" id="pf_mens_'.$i.'" name="pf_mens_'.$i.'" value="'.$clcred['pf_mens_'.$i].'" placeholder="Mensualité" onblur="envoi_immo_cred(\'pf_mens_'.$i.'\','.$client.','.$trian.','.$i.');calcsynt ('.$client.','.$trian.')" data-original-title="Mensualité" data-placement="bottom"></div>
          <div class="col-sm-1"><input type="text" class="form-control tooltips" id="pf_taux_ass_'.$i.'" name="pf_taux_ass_'.$i.'" value="'.$clcred['pf_taux_ass_'.$i].'" placeholder="Taux ASS" onblur="envoi_immo_cred(\'pf_taux_ass_'.$i.'\','.$client.','.$trian.','.$i.')" data-original-title="Taux ASS" data-placement="bottom"></div>
          <div class="col-sm-1"><input type="text" class="form-control tooltips" id="pf_mens_ass_'.$i.'" name="pf_mens_ass_'.$i.'" value="'.$clcred['pf_mens_ass_'.$i].'" placeholder="Mensualité ASS" onblur="envoi_immo_cred(\'pf_mens_ass_'.$i.'\','.$client.','.$trian.','.$i.');calcsynt ('.$client.','.$trian.')" data-original-title="Mensualité ASS" data-placement="bottom"></div>
          <div class="col-sm-1"></div>
          <div class="col-sm-1"></div>
          <div class="col-sm-1"></div>
          <div class="col-sm-1"></div>
          <div class="col-sm-1"></div>
        </div>';
        }
        }
      echo '
      </div>
      <div class="form-group normal">
        <label class="col-sm-7 control-label" style="text-align:right">Total des Prêts simulés</label>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
    
        <label class="col-sm-7 control-label" style="text-align:right">Total autres Crédits</label>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
    
        <label class="col-sm-7 control-label" style="text-align:right">% Endettement</label>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
    
        <label class="col-sm-7 control-label" style="text-align:right">Lissage des prês simulés</label>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
    
        <label class="col-sm-7 control-label" style="text-align:right">% Endettement aprés Lissage</label>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
        <div class="col-sm-1"><input type="text" name="xxx" id="xxx" class="form-control" value="NC"></div>
    
      </div>';
    ?>

    Ou alors si je conserve ce code et que j'appelle via ajax le resultat, il faudrait que je puisse modifier ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    /replissage du tableau
    $.each(cont, function(idx,vals){
     $line=$('<tr/>');
     $.each(vals, function(cellidx,cellval){
     		$cell=$('<td/>').html(cellval);
        $line.append($cell);  
      });
     $('#amort').append($line);
    })
    Pour y inserer cette partie la de mon code php

    Code php : 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
    $rescred = mysql_query("SELECT * FROM `".$sufftable."dem_immo_cred` where idCLIENT='$client' order by nbcred asc");
        while($clcred = mysql_fetch_array($rescred, MYSQL_ASSOC))
        {
          for ($i = 1; $i <= 6; $i++) 
          {
          if ($clcred['pf_nature_'.$i] =="1"){$nclcred="Apport Personnel";}
          if ($clcred['pf_nature_'.$i] =="2"){$nclcred="Prêt Taux Fixe";}
                                                                                              // etc...
          echo '  	
          <div class="form-group normal">
            <div class="col-sm-1"><div class="input-group"><span class="input-group-addon"> <b>'.$i.'</b> </span>
              <select name="pf_nature_'.$i.'" id="pf_nature_'.$i.'" class="form-control tooltips" onchange="envoi_immo_cred(\'pf_nature_'.$i.'\','.$client.','.$trian.','.$i.');" data-original-title="Nature du Plan de Financement" data-placement="bottom">
              <option disabled>Organisme</option>';if ($clcred['pf_nature_'.$i]<>''){echo '<option value="'.$clcred['pf_nature_'.$i].'" selected="selected">'.$nclcred.'</option>';} echo '<option value=""></option>
              <option value="1">Apport Personnel</option>
              <option value="2">Prêt Taux Fixe</option>
     
              </select>
            </div></div>
            <div class="col-sm-1"><input type="text" class="form-control tooltips" id="pf_montant_'.$i.'" name="pf_montant_'.$i.'" value="'.$clcred['pf_montant_'.$i].'" placeholder="Montant" onblur="envoi_immo_cred(\'pf_montant_'.$i.'\','.$client.','.$trian.','.$i.');calcsynt ('.$client.','.$trian.')" data-original-title="Montant" data-placement="bottom"></div>
            <div class="col-sm-1"><input type="text" class="form-control tooltips" id="pf_duree_'.$i.'" name="pf_duree_'.$i.'" value="'.$clcred['pf_duree_'.$i].'" placeholder="Durée" onblur="envoi_immo_cred(\'pf_duree_'.$i.'\','.$client.','.$trian.','.$i.')" data-original-title="Durée" data-placement="bottom"></div>
            <div class="col-sm-1"><input type="text" class="form-control tooltips" id="pf_taux_'.$i.'" name="pf_taux_'.$i.'" value="'.$clcred['pf_taux_'.$i].'" placeholder="Taux" onblur="envoi_immo_cred(\'pf_taux_'.$i.'\','.$client.','.$trian.','.$i.')" data-original-title="Taux" data-placement="bottom"></div>
            <div class="col-sm-1"><input type="text" class="form-control tooltips" id="pf_mens_'.$i.'" name="pf_mens_'.$i.'" value="'.$clcred['pf_mens_'.$i].'" placeholder="Mensualité" onblur="envoi_immo_cred(\'pf_mens_'.$i.'\','.$client.','.$trian.','.$i.');calcsynt ('.$client.','.$trian.')" data-original-title="Mensualité" data-placement="bottom"></div>
            <div class="col-sm-1"><input type="text" class="form-control tooltips" id="pf_taux_ass_'.$i.'" name="pf_taux_ass_'.$i.'" value="'.$clcred['pf_taux_ass_'.$i].'" placeholder="Taux ASS" onblur="envoi_immo_cred(\'pf_taux_ass_'.$i.'\','.$client.','.$trian.','.$i.')" data-original-title="Taux ASS" data-placement="bottom"></div>
            <div class="col-sm-1"><input type="text" class="form-control tooltips" id="pf_mens_ass_'.$i.'" name="pf_mens_ass_'.$i.'" value="'.$clcred['pf_mens_ass_'.$i].'" placeholder="Mensualité ASS" onblur="envoi_immo_cred(\'pf_mens_ass_'.$i.'\','.$client.','.$trian.','.$i.');calcsynt ('.$client.','.$trian.')" data-original-title="Mensualité ASS" data-placement="bottom"></div>
            <div class="col-sm-1"></div>
            <div class="col-sm-1"></div>
            <div class="col-sm-1"></div>
            <div class="col-sm-1"></div>
            <div class="col-sm-1"></div>
          </div>';
          }
       }
    Mais la mes connaissances en javascript sont trop limitées.


    pffffff je me relis et me dis que je pars en galere la.

    Merci quand meme de voter aide

Discussions similaires

  1. Réponses: 9
    Dernier message: 20/10/2010, 11h57
  2. Réponses: 3
    Dernier message: 08/03/2010, 14h36
  3. Rechercher BD, nom des tables qui ont une colonne "location"
    Par arnaudperfect dans le forum Requêtes
    Réponses: 5
    Dernier message: 22/10/2008, 12h33
  4. SELECT des lignes qui ont exactement 4 valeurs sur la colonne ?
    Par mamiberkof dans le forum Langage SQL
    Réponses: 8
    Dernier message: 03/01/2008, 16h00
  5. Réponses: 2
    Dernier message: 27/10/2006, 19h22

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