[RESOLU] formule de calcul et affichage dynamique

Eléphanteau du PHP | 19 Messages

10 janv. 2014, 09:16

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

ViPHP
xTG
ViPHP | 7331 Messages

10 janv. 2014, 14:18

Oula... Tu mélanges variables Javascript et variable PHP non ?

Mammouth du PHP | 2278 Messages

10 janv. 2014, 18:41

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.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphanteau du PHP | 19 Messages

11 janv. 2014, 01:28

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

Mammouth du PHP | 2278 Messages

11 janv. 2014, 10:38

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;

}
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

stcrea2
Invité n'ayant pas de compte PHPfrance

14 janv. 2014, 09:48

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]

Mammouth du PHP | 2278 Messages

14 janv. 2014, 10:17

&& 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']; ?>');}
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD