Page 1 sur 1

formule de calcul et affichage dynamique

Posté : 10 janv. 2014, 09:16
par stcrea
Bonjour a tous et bonne année

Je suis bloqué sur un développement perso concernant un calcul pour la location de produits divers
Je m'explique:

J'ai un formulaire avec affichage du résultat finale en JQuery pour un affichage sans clic
Avec une formule simple pas de problème affichage dynamique et calcul ok

Par contre pour mon calcul j'utilise une variable stoker dans ma base SQL
Cette variable $valeur dépend du montant $equipement et de la durée $duree


J'ai donc mis en php les conditions suivant
if  ($duree == 24 AND $equipement < 0 && $equipement > 5001){($valeur = $row_Recordset1['24-1']) ;}
elseif  ($duree == '36' AND $equipement < 0 && $equipement > 5001) {$valeur = $row_Recordset1['36-1']) ;}
elseif  ($duree == '48' AND $equipement < 0 && $equipement > 5001) {$valeur = $row_Recordset1['48-1'];}
elseif  ($duree == '60' AND $equipement < 0 && $equipement > 5001) {$valeur = $row_Recordset1['60-1'];}
elseif  ($duree == '72' AND $equipement < 0 && $equipement > 5001) {$valeur = $row_Recordset1['72-1'];}
elseif  ($duree == '80' AND $equipement < 0 && $equipement > 5001) {$valeur = $row_Recordset1['80-1'];}

Je précise que les connexions a la base sont ok
et les variables pour $valeur existe

mon formulaire
<form action="<?php echo $editFormAction; ?>" method="POST" name="calx" id="calx">
              <table width="88%" border="0" cellpadding="0" cellspacing="0" bgcolor="#F4FDFF">

                <tr>
                  <td width="50%" align="center" valign="middle" scope="col"><table width="647" border="0" cellspacing="0">
                    <tbody>
                      
                      
                      <tr>
                        <td height="35" colspan="3" align="left" valign="middle" class="Style50">Simulation</td>
                        </tr>
                      <tr>
                        <td width="28" align="center" valign="middle">
                            <img src="../img/detail2.png" width="19" height="19" <?php if ($totalRows_rub1 == 0) { // Show if recordset empty ?>title="nnnnn"<?php } // Show if recordset empty ?> title="<?php echo $row_rub1['detail1']; ?>"/></td>
                        <td width="241" align="left" valign="middle" class="Style44"><?php if ($totalRows_rub1 == 0) { // Show if recordset empty ?>
                            Acte par Mois:
  <?php } // Show if recordset empty ?>
  <?php if ($totalRows_rub1 > 0) { // Show if recordset not empty ?>
    <?php echo $row_rub1['rub1']; ?>
    <?php } // Show if recordset not empty ?></td>
                        <td height="35" align="left" valign="middle"><input name="acte" type="checkbox" id="acte" onclick="montre(this, 'div_a');" /></td>
                      </tr>
                      <tr>
                        <td align="center" valign="middle"><img src="../img/detail2.png" width="19" height="19" <?php if ($totalRows_rub2 == 0) { // Show if recordset empty ?>title="nnnnn"<?php } // Show if recordset empty ?> title="<?php echo $row_rub2['detail2']; ?>"/>                            </td>
                        <td align="left" valign="middle" class="Style44"><?php if ($totalRows_rub2 == 0) { // Show if recordset empty ?>
                            Equipement:
  <?php } // Show if recordset empty ?>
  <?php if ($totalRows_rub2 > 0) { // Show if recordset not empty ?>
  <?php echo $row_rub2['rub2']; ?>
  <?php } // Show if recordset not empty ?></td>
                        <td width="372" height="35" align="left" valign="middle"><span id="sprytextfield1">
                          <input name="equipement" type="text" class="input-prepend" id="equipement"  />
                        </span></td>
                      </tr>
                      <tr>
                        <td align="center" valign="middle">
                            <img src="../img/detail2.png" width="19" height="19" <?php if ($totalRows_rub3 == 0) { // Show if recordset empty ?>title="nnnnn"<?php } // Show if recordset empty ?> title="<?php echo $row_rub3['detail3']; ?>"/>                            </td>
                        <td align="left" valign="middle" class="Style44"><?php if ($totalRows_rub3 == 0) { // Show if recordset empty ?>
                            Durée:
  <?php } // Show if recordset empty ?>
                          <?php if ($totalRows_rub3 > 0) { // Show if recordset not empty ?>
                          <?php echo $row_rub3['rub3']; ?>
                          <?php } // Show if recordset not empty ?></td>
                        <td height="42" align="left" valign="top"><select name="duree" class="input-medium" id="duree" >
                            <option value="24">24 mois</option>
                            <option value="36">36 mois</option>
                            <option value="48">48 mois</option>
                            <option value="60">60 mois</option>
                            <option value="72">72 mois</option>
                            <option value="80">80 mois</option>
                          </select>                        </td>
                      </tr>
                      <tr>
                        <td align="center" valign="middle">
                            <img src="../img/detail2.png" width="19" height="19" <?php if ($totalRows_rub4 == 0) { // Show if recordset empty ?>title="nnnnn"<?php } // Show if recordset empty ?> title="<?php echo $row_rub4['detail4']; ?>"/>                           </td>
                        <td align="left" valign="middle" class="Style44"><?php if ($totalRows_rub4 == 0) { // Show if recordset empty ?>
                            Prestations:
  <?php } // Show if recordset empty ?>
<?php if ($totalRows_rub4 > 0) { // Show if recordset not empty ?>
                          <?php echo $row_rub4['rub4']; ?>
                          <?php } // Show if recordset not empty ?></td>
                        <td height="35" align="left" valign="middle"><label>
                          <input type="text" name="prestation" id="prestation" />
                        </label></td>
                      </tr>
                      
                      <tr>
                        <td align="center" valign="middle">
                          <img src="../img/detail2.png" width="19" height="19" <?php if ($totalRows_rub5 == 0) { // Show if recordset empty ?>title="nnnnn"<?php } // Show if recordset empty ?> title="<?php echo $row_rub5['detail5']; ?>"/>                         </td>
                        <td align="left" valign="middle" class="Style44"><?php if ($totalRows_rub5 == 0) { // Show if recordset empty ?>
                            Consommable:
  <?php } // Show if recordset empty ?>
                          <?php if ($totalRows_rub5 > 0) { // Show if recordset not empty ?>
                          <?php echo $row_rub5['rub5']; ?>
                          <?php } // Show if recordset not empty ?></td>
                        <td height="35" align="left" valign="middle"><input type="text" name="consommable" id="consommable" /></td>
                      </tr>
                      <tr>
                        <td height="10" colspan="3" align="left" valign="middle"><div id="div_a"><table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
  
    <td width="28"align="center" valign="middle" class="Style44" >
      <img src="../img/detail2.png" width="19" height="19" <?php if ($totalRows_rub6 == 0) { // Show if recordset empty ?>title="nnnnn"<?php } // Show if recordset empty ?> title="<?php echo $row_rub6['detail6']; ?>"/>      </td>
    <td width="244"align="left" valign="middle" class="Style44" ><?php if ($totalRows_rub6 == 0) { // Show if recordset empty ?>
        Nombres d'acte:
  <?php } // Show if recordset empty ?>
      <?php if ($totalRows_rub6 > 0) { // Show if recordset not empty ?>
      <?php echo $row_rub6['rub6']; ?>
      <?php } // Show if recordset not empty ?></td>
    <th width="286"align="left" valign="middle"scope="col"><input name="nbacte" type="text" class="input-prepend" id="nbacte" /></th>
  </tr>
</table>
</div></td>
                        </tr>
                      <tr>
                        <td height="35" colspan="3" align="left" valign="middle"><hr /></td>
                        </tr>
                      <tr>
                        <td height="35" colspan="2" align="left" valign="middle"><span class="Style44"><strong>Loyer:</strong>
                          <input name="loyer3" type="hidden" id="loyer3" value="$loyer2" />
                          <input name="id_part" type="hidden" id="id_part" value="<?php echo $row_partenaire['id_part']; ?>" />
                          <input name="mail" type="hidden" id="mail" value="<?php echo $row_ident['mail']; ?>" />
                          



                          <span class="Style41 valign=">
                          <input name="valeur" type="hidden" class="input-prepend" id="valeur" value="<?php echo $valeur; ?>"  />
                          </span></span></td>
                        <td height="35" align="left" class="Style41 valign="middle"><input name="loyer" type="text" class="input-medium" id="loyer" data-format="€ 0,0[.]00" 
                        data-formula="($equipement*$valeur)/100"></span>
                          <span class="Style48">/Mois</span></td>
                      </tr>
                      <tr>
                        <td height="35" colspan="2" align="left" valign="middle">&nbsp;</td>
                        <td height="35" align="left" class="Style41 valign="middle">&nbsp;</td>
                      </tr>
                    </tbody>
                  </table></td>
                  </tr>
                <tr>
                  <td align="center" valign="top" scope="col"><hr /></td>
                  </tr>
                <tr>
                  <td height="50" align="center" valign="top" scope="col"><input type="submit" name="valide" class="btn btn-primary" id="valide" value="Enregistrer la simulation" /></td>
                  </tr>
              </table>
              <p class="form-horizontal">&nbsp;</p>
              
              <input type="hidden" name="MM_insert" value="calx" />
            </form>


Mon probleme est simple
La formule de calcul est la suivante
($equipement*$valeur)/100
Sauf que je ne réussi pas a récupérer la variable $valeur

Pouvez vous m'aider a comprendre mon erreur
Bien cordialement
Merci

Re: formule de calcul et affichage dynamique

Posté : 10 janv. 2014, 14:18
par xTG
Oula... Tu mélanges variables Javascript et variable PHP non ?

Re: formule de calcul et affichage dynamique

Posté : 10 janv. 2014, 18:41
par sirakawa
Si je vois bien, la condition sur équipement est la même dans tous les cas.
Par ailleurs
AND $equipement < 0 && $equipement > 500
me laisse perplexe.
Enfin il vaudrait sûrement mieux utiliser && partout ou parenthéser.

Re: formule de calcul et affichage dynamique

Posté : 11 janv. 2014, 01:28
par stcrea
Bon jour

Voici donc ma nouvelle tentative


[javascript]

function loyer()
{

var equipement = parseInt(document.getElementById('equipement').value);
var duree = parseInt(document.getElementById('duree').value);


if((var equipement >1 && var equipement <5000) && (var duree = 24))
{var mult = parseInt('<?php echo $row_Recordset1['24-1']; ?>');}
else {

}
if((var equipement >1 && var equipement <5000) && (var duree = 36))
{var mult = parseInt('<?php echo $row_Recordset1['36-1']; ?>');}
else {

}

var val = mult;
var resultat = equipement * val /100;
document.getElementById('loyer').innerHTML = resultat;

}

[/javascript]

Le problème c'est qu si j'entre une valeur fixe pour ma variable var val qui est en réalité le coef multiplicateur
dans ma base c'est ok
Mais si je tente ce bout de script plus rien

quelqu'un pourrait il me mettre sur la piste ou me montrer mon erreur
car en php je récupère bien mes valeurs de la base de donnée avec un echo
je me demande donc si mes conditions en java sont bonnes

Merci pour votre aide

Re: formule de calcul et affichage dynamique

Posté : 11 janv. 2014, 10:38
par sirakawa
au hasard:
print_r($_POST);
print "<hr>";
print_r($_GET);


if ($equipement >1 && $equipement <5000)
{
$mult = parseInt($row_Recordset1[$var_duree-1]);
}

$resultat = $equipement * $mult /100;
document.getElementById('loyer').innerHTML = resultat;

}

Re: formule de calcul et affichage dynamique

Posté : 14 janv. 2014, 09:48
par stcrea2
Merci a tous pour votre aide voici la solution si ca peut aider


[javascript]
function xxx()
{


var equipement = parseInt(document.getElementById('equipement').value);
var duree = (document.getElementById('duree').value);



if (equipement > 1 && equipement <5000 && duree == 24 ) { var val = parseInt('<?php echo $row_Recordset1['24-1']; ?>');}
if (equipement > 1 && equipement <5000 && duree == 36 ) { var val = parseInt('<?php echo $row_Recordset1['36-1']; ?>');}
if (equipement > 1 && equipement <5000 && duree == 48 ) { var val = parseInt('<?php echo $row_Recordset1['48-1']; ?>');}
if (equipement > 1 && equipement <5000 && duree == 60 ) { var val = parseInt('<?php echo $row_Recordset1['60-1']; ?>');}
if (equipement > 1 && equipement <5000 && duree == 72 ) { var val = parseInt('<?php echo $row_Recordset1['72-1']; ?>');}
if (equipement > 1 && equipement <5000 && duree == 80 ) { var val = parseInt('<?php echo $row_Recordset1['80-1']; ?>');}

if (equipement > 5001 && equipement <10000 && duree == 24 ) { var val = parseInt('<?php echo $row_Recordset1['24-2']; ?>');}
if (equipement > 5001 && equipement <10000 && duree == 36 ) { var val = parseInt('<?php echo $row_Recordset1['36-2']; ?>');}
if (equipement > 5001 && equipement <10000 && duree == 48 ) { var val = parseInt('<?php echo $row_Recordset1['48-2']; ?>');}
if (equipement > 5001 && equipement <10000 && duree == 60 ) { var val = parseInt('<?php echo $row_Recordset1['60-2']; ?>');}
if (equipement > 5001 && equipement <10000 && duree == 72 ) { var val = parseInt('<?php echo $row_Recordset1['72-2']; ?>');}
if (equipement > 5001 && equipement <10000 && duree == 80 ) { var val = parseInt('<?php echo $row_Recordset1['80-2']; ?>');}

if (equipement > 10001 && equipement <20000 && duree == 24 ) { var val = parseInt('<?php echo $row_Recordset1['24-3']; ?>');}
if (equipement > 10001 && equipement <20000 && duree == 36 ) { var val = parseInt('<?php echo $row_Recordset1['36-3']; ?>');}
if (equipement > 10001 && equipement <20000 && duree == 48 ) { var val = parseInt('<?php echo $row_Recordset1['48-3']; ?>');}
if (equipement > 10001 && equipement <20000 && duree == 60 ) { var val = parseInt('<?php echo $row_Recordset1['60-3']; ?>');}
if (equipement > 10001 && equipement <20000 && duree == 72 ) { var val = parseInt('<?php echo $row_Recordset1['72-3']; ?>');}
if (equipement > 10001 && equipement <20000 && duree == 80 ) { var val = parseInt('<?php echo $row_Recordset1['80-3']; ?>');}

if (equipement > 20001 && equipement <30000 && duree == 24 ) { var val = parseInt('<?php echo $row_Recordset1['24-4']; ?>');}
if (equipement > 20001 && equipement <30000 && duree == 36 ) { var val = parseInt('<?php echo $row_Recordset1['36-4']; ?>');}
if (equipement > 20001 && equipement <30000 && duree == 48 ) { var val = parseInt('<?php echo $row_Recordset1['48-4']; ?>');}
if (equipement > 20001 && equipement <30000 && duree == 60 ) { var val = parseInt('<?php echo $row_Recordset1['60-4']; ?>');}
if (equipement > 20001 && equipement <30000 && duree == 72 ) { var val = parseInt('<?php echo $row_Recordset1['72-4']; ?>');}
if (equipement > 20001 && equipement <30000 && duree == 80 ) { var val = parseInt('<?php echo $row_Recordset1['80-4']; ?>');}

if (equipement > 40001 && equipement <50000 && duree == 24 ) { var val = parseInt('<?php echo $row_Recordset1['24-5']; ?>');}
if (equipement > 40001 && equipement <50000 && duree == 36 ) { var val = parseInt('<?php echo $row_Recordset1['36-5']; ?>');}
if (equipement > 40001 && equipement <50000 && duree == 48 ) { var val = parseInt('<?php echo $row_Recordset1['48-5']; ?>');}
if (equipement > 40001 && equipement <50000 && duree == 60 ) { var val = parseInt('<?php echo $row_Recordset1['60-5']; ?>');}
if (equipement > 40001 && equipement <50000 && duree == 72 ) { var val = parseInt('<?php echo $row_Recordset1['72-5']; ?>');}
if (equipement > 40001 && equipement <50000 && duree == 80 ) { var val = parseInt('<?php echo $row_Recordset1['80-5']; ?>');}

if (equipement > 50001 && equipement <100000 && duree == 24 ) { var val = parseInt('<?php echo $row_Recordset1['24-6']; ?>');}
if (equipement > 50001 && equipement <100000 && duree == 36 ) { var val = parseInt('<?php echo $row_Recordset1['36-6']; ?>');}
if (equipement > 50001 && equipement <100000 && duree == 48 ) { var val = parseInt('<?php echo $row_Recordset1['48-6']; ?>');}
if (equipement > 50001 && equipement <100000 && duree == 60 ) { var val = parseInt('<?php echo $row_Recordset1['60-6']; ?>');}
if (equipement > 50001 && equipement <100000 && duree == 72 ) { var val = parseInt('<?php echo $row_Recordset1['72-6']; ?>');}
if (equipement > 50001 && equipement <100000 && duree == 80 ) { var val = parseInt('<?php echo $row_Recordset1['80-6']; ?>');}

if (equipement > 100000 && equipement <5000000 && duree == 24 ) { var val = parseInt('<?php echo $row_Recordset1['24-7']; ?>');}
if (equipement > 100000 && equipement <5000000 && duree == 36 ) { var val = parseInt('<?php echo $row_Recordset1['36-7']; ?>');}
if (equipement > 100000 && equipement <5000000 && duree == 48 ) { var val = parseInt('<?php echo $row_Recordset1['48-7']; ?>');}
if (equipement > 100000 && equipement <5000000 && duree == 60 ) { var val = parseInt('<?php echo $row_Recordset1['60-7']; ?>');}
if (equipement > 100000 && equipement <5000000 && duree == 72 ) { var val = parseInt('<?php echo $row_Recordset1['72-7']; ?>');}
if (equipement > 100000 && equipement <5000000 && duree == 80 ) { var val = parseInt('<?php echo $row_Recordset1['80-7']; ?>');}






var resultat = equipement * val /100;
document.getElementById('xxx').innerHTML = resultat;
document.write(mult);


$(document).ready(function(){
var total = 'xxx';
$("#loyer").val(total);
});


}

[/javascript]

Re: [RESOLU] formule de calcul et affichage dynamique

Posté : 14 janv. 2014, 10:17
par sirakawa
&& duree == 24 ) { var val = parseInt('<?php echo $row_Recordset1['24-1']; ?>');}
Il est bien évident que si:
if (equipement > 1 && equipement <5000)
{ var val = parseInt('<?php echo $row_Recordset1['duree-1']; ?>');}