[PHP-JS] Calculs dans une page php à l'aide javascript
Après maintes recherches sur les forums, je n'ai pas trouvé de solution à mon problème:
A partir d'une base dans un formulaire php, il m'est possible d'afficher à l'aide d'une région répétée une série d'enregistrements dont 4 champs sont des valeurs numériques.
J'essaie d'établir un script javascript afin d'effectuer des calculs sur ces variables: par exemple sommes, ou opérations (multiplications, etc...) à partir des valeurs de ces champs.
Les valeurs rapatriées du type <?php echo $row_majsoirsenf['retard']; ?>
ayant déja servi pour l'affichage des résultats de la table , peuvent-elles servir en même temps pour les calculs dans le script.
La base étant plus importante que les valeurs affichées (tri effectué en fonction de quelques critères) et la région répétée étant la méthode utilisée pour l'affichage en tableau, faut-il utiliser une séquence for..... pour aller prendre les différentes valeurs des champs de la base? et effectuer ensuite les calculs.
Faut-il convertir et comment les valeurs du type <?php echo $row_majsoirsenf['retard']; ?> qui ne sont pas numériques?
Existe-t-il des scripts qui répondraient à toutes ces questions?
Merci
calculs dans une page php à l'aide de javascript
Salut
Voici en fait le code php qui me permet d'afficher les éléments choisis de la base:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?php do { ?>
<tr class="Style3">
<td><input name="textfield2" type="text" value="<?php echo $row_majsoirsenf['numero']; ?>" size="6" /></td>
<td><input name="textfield" type="text" value="<?php echo $row_majsoirsenf['mois']; ?>" size="15" /></td>
<td height="39"><input name="nomenfant" type="text" id="nomenfant" value="<?php echo $row_majsoirsenf['nomenfant']; ?>" size="25" /></td>
<td><input name="prenomenfant" type="text" id="prenomenfant" value="<?php echo $row_majsoirsenf['prenomenfant']; ?>" size="25" /></td>
<td><input name="heuresprevues" type="text" id="heuresprevues" value="<?php echo $row_majsoirsenf['heuresprevues']; ?>" size="7" /></td>
<td><input name="heuresreelles" type="text" id="heuresreelles" value="<?php echo $row_majsoirsenf['heuresreelles']; ?>" size="7" /></td>
<td><input name="montant" type="text" id="montant" value="<?php echo $row_majsoirsenf['montant']; ?>" size="12" /></td>
<td><input name="retard" type="text" id="retard" value="<?php echo $row_majsoirsenf['retard']; ?>" size="12" /></td>
</tr>
<?php } while ($row_majsoirsenf = mysql_fetch_assoc($majsoirsenf)); ?>
</table> |
j'ai ajouté le code suivant à l'aide de ton aide, mais rien ne s'affiche:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <script language="javascript">
var b= <?php echo $totalRows_majsoirsenf ?>
for (a;a<=b;a++)
{
<?php echo "var montnantJS = ".$row_majsoirsenf['montant']; ?>
<?php echo "var retardJS = ".$row_majsoirsenf['retard']; ?>
document.write('a');
document.write('montantJS');
document.write('retardJS');
}
</script> |
Je ne sais pas si la ligne de déclaration de la variable b est correcte.
J'ai choisi une boucle for dans l'optique de récupérer les différentes valeurs de la base pour chaque variable, mais je ne sais pas non plus si c'est la procédure....
Calculs dans une page php à l'aide javascript
problème résolu:
pas de passage par déclaration de variable JS:
mais inclusion de plusieurs script JS à l'intérieur des boucles php et à l'extérieur:
pour le calcul:
initialisation des variables: en dehors de la zone répétée:
Code:
1 2 3 4 5 6
| <script language="JavaScript">
var x=0
var h=0
var j=0
var r=0
</script> |
puis calcul à l'intérieur de cette zone répétée :
copie de la zone et du script:
Code:
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
| <?php do { ?>
<tr class="Style3">
<td><input name="textfield2" type="text" value="<?php echo $row_majsoirsenf['numero']; ?>" size="6" /></td>
<td><input name="textfield" type="text" class="Style17" value="<?php echo $row_majsoirsenf['mois']; ?>" size="10" /></td>
<td height="39"><input name="nomenfant" type="text" class="Style17" id="nomenfant" value="<?php echo $row_majsoirsenf['nomenfant']; ?>" size="25" /></td>
<td><input name="prenomenfant" type="text" class="Style17" id="prenomenfant" value="<?php echo $row_majsoirsenf['prenomenfant']; ?>" size="25" /></td>
<td><input name="heuresprevues" type="text" id="heuresprevues" value="<?php echo $row_majsoirsenf['heuresprevues']; ?>" size="7" /></td>
<td><input name="heuresreelles" type="text" id="heuresreelles" value="<?php echo $row_majsoirsenf['heuresreelles']; ?>" size="7" /></td>
<td><input name="montant" type="text" id="montant" value="<?php echo $row_majsoirsenf['montant']; ?>" size="12" /></td>
<td><input name="retard" type="text" id="retard" value="<?php echo $row_majsoirsenf['retard']; ?>" size="12" /></td>
</tr>
<script language="JavaScript">
var mont="<?php echo $row_majsoirsenf['montant']; ?>"
x=parseFloat(x)+parseFloat(mont)
var heur="<?php echo $row_majsoirsenf['heuresprevues']; ?>"
h=parseFloat(h)+parseFloat(heur)
var hor="<?php echo $row_majsoirsenf['heuresreelles']; ?>"
j=parseFloat(j)+parseFloat(hor)
var reta="<?php echo $row_majsoirsenf['retard']; ?>"
r=parseFloat(r)+parseFloat(reta)
</script>
<?php } while ($row_majsoirsenf = mysql_fetch_assoc($majsoirsenf)); ?> |
et ensuite en dehors de la zone répétée un autre script pour l'affichage des résultats:
Code:
1 2 3 4 5 6 7
| <script language="JavaScript">
document.write("............................................Totaux ........"+h+".........");
document.write(".."+j+"........");
document.write(".."+x+""+"........");
document.write(".."+r+""+"<br>");
</script> |
et le tour est joué, récupération des variables de la base:4 variables avec de critères de sélection afin de ne prendre que les enregistrements choisis de la base.