Operateur et PHP
Résolubalbeur Messages postés 31 Statut Membre -
J'ai un petit soucis dans mon code php, qui va etre banale, je pense pour vous
J'ai fais un tableau et je voudrais que s'affiche automatiquement le resultat d'une operation
de multiplication dans une cellule
Voila le code
<td style="text-align: center; vertical-align: top;"><span class="Style4">
<input name="design" id="design" size="50" maxlength="48">
</span></td>
<td style="text-align: center; vertical-align: top;"><span class="Style4">
<input name="nombre" id="nombre" size="10" maxlength="2">
</span></td>
<td style="text-align: center; vertical-align: top;"><span class="Style4">
<input name="prix" id="prix" size="10" maxlength="5">
</span></td>
<td style="text-align: center; vertical-align: top;"><span class="Style4">
<input name="total" id="total" size="10" maxlength="5">
<?php
$total = $prix*$nombre;
echo $total;
?>
</span></td>
Je multiplie donc prix par nombre et je voudrais que ca s'affiche dans total,
mais hélas apres 2 heures de recherche sur le web, pas moyen de trouver
Pouvez vous m'aider s'il vous plait, merci...Céline
Configuration: Windows Vista Internet Explorer 7.0
34 réponses
- 1
- 2
Le fil porte sur l'affichage automatique du produit du prix et du nombre dans une cellule total d'un tableau HTML, sans dépendre d'une revalidation côté serveur en PHP. Plusieurs réponses préconisent d'utiliser JavaScript pour calculer le total en temps réel, en récupérant les valeurs des champs 'nombre' et 'prix', puis en affichant le résultat dans 'total'. Certaines discussions évoquent aussi que mélanger PHP et JavaScript est possible, mais que PHP ne peut utiliser directement les valeurs des champs du formulaire sans soumission, rendant JavaScript plus simple et fiable. En pratique, les échanges montrent des essais jusqu'à une solution fonctionnelle lorsqu'on gère correctement les nombres et les événements, évitant les erreurs NaN ou la concaténation de chaînes.
-
Tu peux réaliser ton calcul avec l'utilisation de javascript comme suit :
<HTML> <HEAD> <SCRIPT language="Javascript"> <!-- function CalculerTotal() { var nombre = document.getElementById('nombre').value; var prix = document.getElementById('prix').value; var total; if(!isNaN(nombre) && !isNaN(prix)) total = nombre * prix; else total = 'Merci de saisir des nombres'; document.getElementById('total').value = total; } //--> </SCRIPT> </HEAD> <BODY> <table> <tr> <td style="text-align: center; vertical-align: top;"><span class="Style4"> <input name="design" id="design" size="50" maxlength="48"> </span></td> <td style="text-align: center; vertical-align: top;"><span class="Style4"> <input name="nombre" id="nombre" size="10" maxlength="2"> </span></td> <td style="text-align: center; vertical-align: top;"><span class="Style4"> <input name="prix" id="prix" size="10" maxlength="5"> </span></td> <td style="text-align: center; vertical-align: top;"><span class="Style4"> <input name="total" id="total" size="5" maxlength="5"> </span></td> <td style="text-align: center; vertical-align: top;"><span class="Style4"> <input name="calculer" id="calculer" type="button" onclick="CalculerTotal();" value="Calculer"/> </span></td> </BODY> </HTML>
Avec Php cela serait plus compliqué ;-) -
Merci pour ta réponse mais est ce que je peux mélanger du javascript sanchant qu'il y a déja du php dedans, ca ne va pas mettre le "bazar" en plus du html ?
-
Non pas de souci. Il suffit juste de rajouter la fonction javascript dans la partie <head></head> de ton html.
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
Bonjour
Le code marche a merveille !
J'aurais souhaité aditionner les variables defini plus haut , j'ai donc fais
<tr><SCRIPT language="Javascript">
<!--
function CalculerTotal1000() {
if(!isNaN(total) && !isNaN(total2))
total1000 = total + total2;
else
total1000 = 'Merci de saisir des nombres';
document.getElementById('total1000').value = total1000;
}
//-->
</SCRIPT>
<div align="center"><br>
Montant total de votre commande <span class="Style4">
<input name="total1000" id="total1000" size="10" maxlength="5">
</span> €
<td style="text-align: center; vertical-align: top;"><span class="Style4">
<input name="Calculertotal1000" id="Calculertotal10" size="50" type="button" onclick="CalculerTotal1000();" value="Calculer"/>
</span></td>
Mais apparemment ca ne marche pas, voyez vous une erreur.
Faut il encore redefinir des variables, alors qu'elle sont déja utilisé plus haut ? -
Donne moi le code avec la déclaration des variables total et total 2 stp pour que je puisse tout vérifier ;-)
-
<tr><SCRIPT language="Javascript">
<!--
function CalculerTotal() {
var nombre = document.getElementById('nombre').value;
var prix = document.getElementById('prix').value;
var total;
if(!isNaN(nombre) && !isNaN(prix))
total = nombre * prix;
else
total = 'Merci de saisir des nombres';
document.getElementById('total').value = total;
}
//-->
</SCRIPT>
<td style="text-align: center; vertical-align: top;"><span class="Style4"><input name="commande" id="commande" size="10" maxlength="6"></span></td>
<td style="text-align: center; vertical-align: top;"><span class="Style4">
<input name="design" id="design" size="50" maxlength="48">
</span></td>
<td style="text-align: center; vertical-align: top;"><span class="Style4">
<input name="nombre" id="nombre" size="10" maxlength="2">
</span></td>
<td style="text-align: center; vertical-align: top;"><span class="Style4">
<input name="prix" id="prix" size="10" maxlength="5">
</span></td>
<td style="text-align: center; vertical-align: top;"><span class="Style4">
<input name="total" id="total" size="10" maxlength="5">
<td style="text-align: center; vertical-align: top;"><span class="Style4">
<input name="calculer" id="calculer" size="50" type="button" onClick="CalculerTotal();" value="Calculer"/>
</span></td>
et........
<tr><SCRIPT language="Javascript">
<!--
function CalculerTotal2() {
var nombre2 = document.getElementById('nombre2').value;
var prix2 = document.getElementById('prix2').value;
var total2;
if(!isNaN(nombre2) && !isNaN(prix2))
total2 = nombre2 * prix2;
else
total2 = 'Merci de saisir des nombres';
document.getElementById('total2').value = total2;
}
//-->
</SCRIPT>
<td style="text-align: center; vertical-align: top;"><span class="Style4"><input name="commande2" id="commande2" size="10" maxlength="6">
</span></td>
<td style="text-align: center; vertical-align: top;"><span class="Style4">
<input name="design2" id="design2" size="50" maxlength="48">
</span></td>
<td style="text-align: center; vertical-align: top;"><span class="Style4">
<input name="nombre2" id="nombre2" size="10" maxlength="2">
</span></td>
<td style="text-align: center; vertical-align: top;"><span class="Style4">
<input name="prix2" id="prix2" size="10" maxlength="5">
</span></td>
<td style="text-align: center; vertical-align: top;"><span class="Style4">
<input name="total2" id="total2" size="10" maxlength="5">
</span></td>
<td style="text-align: center; vertical-align: top;"><span class="Style4">
<input name="calculer2" id="calculer2" size="50" type="button" onClick="CalculerTotal2();" value="Calculer"/>
</span></td>
Merci... Céline -
Arff tu as oublié de récupérer les valeurs des variables :
function CalculerTotal1000() { var total = document.getElementById('total'); var total2 = document.getElementById('total2'); if(!isNaN(total) && !isNaN(total2)) total1000 = total + total2; else total1000 = 'Merci de saisir des nombres'; document.getElementById('total1000').value = total1000; }Ça devrait marcher maintenant ;-) -
-
-
-
Essaye le code suivant :
function CalculerTotal1000() { var total = document.getElementById('total'); var total2 = document.getElementById('total2'); if(!isNaN(total) && !isNaN(total2)) total1000 = total + total2; else total1000 = 'Merci de saisir des nombres'; document.getElementById('total1000').value = total1000; } -
-
J'ai beau verifier et re-vérifier, ca ne veux pas calculer mes champs total.
Céline
Peut etre serais ce plus facile de le faire en php ?? -
Bonjour
En faite , je croyais que le code marchait, mais il ne fonctionne pas avec les nombres a virgule !
Donc si quelqu'un a une iddée pour que ca fonctionne je suis preneuse !
<HTML>
<HEAD>
<SCRIPT language="Javascript">
<!--
function CalculerTotal() {
var nombre = document.getElementById('nombre').value;
var prix = document.getElementById('prix').value;
var total;
if(!isNaN(nombre) && !isNaN(prix))
total = nombre * prix;
else
total = 'Merci de saisir des nombres';
document.getElementById('total').value = total;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<table>
<tr>
<td style="text-align: center; vertical-align: top;"><span class="Style4">
<input name="design" id="design" size="50" maxlength="48">
</span></td>
<td style="text-align: center; vertical-align: top;"><span class="Style4">
<input name="nombre" id="nombre" size="10" maxlength="2">
</span></td>
<td style="text-align: center; vertical-align: top;"><span class="Style4">
<input name="prix" id="prix" size="10" maxlength="5">
</span></td>
<td style="text-align: center; vertical-align: top;"><span class="Style4">
<input name="total" id="total" size="5" maxlength="5">
</span></td>
<td style="text-align: center; vertical-align: top;"><span class="Style4">
<input name="calculer" id="calculer" size="50" type="button" onclick="CalculerTotal();" value="Calculer"/>
</span></td>
</BODY>
</HTML>
Idem pour mon probleme d'addition des totals, qui ne fonctionne pas !
Je connais pas grand chose en informatique, mais je suis eleve infirmiere, alors si vous avez des piqures a faire , amenez vos fe.....
Merci
Céline -
Zut j'ai oublié de noter probleme non resolu.......céline Ha tete de linotte
-
Ce script marche correctement pour les nombres à virgules. Seulement il faut saisir tes valeurs avec le séparateur "."
En ce qui concerne ton erreur que tu obtiens donne moi le texte exact stp. -
Bonjour Tassin
Tu as effectivement raison concernant le séparateur, il faut bien que ce soit un point.
Lors du calcul d'un nombre a virgule, il me met un resultat a rallonge
exemple 3 x 3.96 resultat 11.879999999999999
et lors d'un calcul de tout les totaux, il me met "Merci de saisir des nombres"
alors que tout et bien rempli.
J'ai essayé de me renseigner et de chercher, mais je n'y comprend rien,
je connais a peine le PHP alors le JS....
Merci pour aide...
Céline -
Essaye de voir ce si il arrive bien à récupérer les valeurs, pour ce faire change la fonction javascript comme suit :
function CalculerTotal1000() { var total = document.getElementById('total'); var total2 = document.getElementById('total2'); alert('total = '+total); alert('total2 = '+total2); if(!isNaN(total) && !isNaN(total2)) total1000 = total + total2; else total1000 = 'Merci de saisir des nombres'; document.getElementById('total1000').value = total1000; }
- 1
- 2