Operateur et PHP

Résolu/Fermé
balbeur Messages postés 30 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 15 avril 2011 - 16 avril 2008 à 16:41
balbeur Messages postés 30 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 15 avril 2011 - 23 avril 2008 à 11:08
Bonjour,

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

34 réponses

Hello Alex

J'ai essayé le code, j'ai une petite fenetre internet explorer avec un triangle jaune+
point d'exclamation qui s'ouvre au
moment de l'appuis sur le bouton "calculer" avec le message
total = [object] et un bouton OK si j'appuie sur OK
j'ai ensuite total2= [object] et ainsi de suite jusqu'a la fin des variables total
J'ai également le message "Merci de saisir des nombres" dans ma case
"total1000" au lieu du résultat.
Qu'en pense tu ?

Bonne soirée... Céline
0
Utilisateur anonyme
22 avril 2008 à 11:18
Arf vraiment désolé j'ai fait une erreur dans ma fonction javascript, je te donne la bonne version :
function CalculerTotal1000() {

     var total = document.getElementById('total').value;
     var total2 = document.getElementById('total2').value;
     
     if(!isNaN(total) && !isNaN(total2))
          total1000 = total + total2;
     else
         total1000 = 'Merci de saisir des nombres';
     document.getElementById('total1000').value = total1000;
}
Voili Voilou normalement c'est bon !! ;-)
0
Hello Alex

il y a un petit probleme !!!

Dixit Alex ( Maudite soit tu vil Céline ect..%£µ@##££$$)

Eh vi, ca s'affiche cette fois, mais ca me met les nombres a la suite

Regarde le lien

http://emilie.greuillet.free.fr/formulaire2.php

eh eh désolé, merci pour ton aide , c'est quand meme balese comme truc !!

@+ Céline
0
Utilisateur anonyme
22 avril 2008 à 14:19
J'ai la solution !!! LLOOLL
function CalculerTotal1000() {

     var total = document.getElementById('total').value;
     var total2 = document.getElementById('total2').value;
     
     if(!isNaN(total) && !isNaN(total2))
          total1000 = parseInt(total) + parseInt(total2);
     else
         total1000 = 'Merci de saisir des nombres';
     document.getElementById('total1000').value = total1000;
}
Aller ce coup ci c la bonne ;-)
PS : Si je peux me permettre :-S mets ton formulaire (Monsieur, Madame, nom, prénom etc. dans une table ca sera mieux aligné.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Re moi

eh non c 'est pas la bonne

Ca me marque NaN

J'imagine que tu sais ce que ca veux dire :)

Céline
0
Utilisateur anonyme
22 avril 2008 à 15:27
Alala quel mauvais développeur je fais !!!!
function CalculerTotal1000() {

     var total = document.getElementById('total').value;
     var total2 = document.getElementById('total2').value;
     
     if(!isNaN(total) && !isNaN(total2)){
          if(total == "") total=0;
          if(total2 == "") total2=0;
          total1000 = parseInt(total) + parseInt(total2);
     }
     else
         total1000 = 'Merci de saisir des nombres';
     document.getElementById('total1000').value = total1000;
}
En fait si toutes tes lignes ne sont pas remplies il n'arrivait pas à ajouter des nombres avec des champs vides. Pour palier au problème on met des "0" pour les totaux qui n'ont pas été saisis.
Aller zou @ tt à l'heure LOL
0
kikou re moi

Ca marque erreur sur la page maintenant et y a plus rien qui s'affiche ...

Ouh la la recherche de sponsor chez efferalgant ...lool
0
Utilisateur anonyme
22 avril 2008 à 15:50
Ah ouai mais nan je refuse LOL !!! Pour une fois c'est toi qui a mal recopié mon code. Je commençais à prendre peur tu sais hihi. Tu as fermé l'accolade du if une ligne avant. Ton code actuel
if(!isNaN(total) && !isNaN(total2) && !isNaN(total3) && !isNaN(total4) && !isNaN(total5) && !isNaN(total6) && !isNaN(total7) && !isNaN(total8) && !isNaN(total9)){
     if(total == "") total=0;
     if(total2 == "") total2=0;
     if(total3 == "") total3=0;
     if(total4 == "") total4=0;
     if(total5 == "") total5=0;
     if(total6 == "") total6=0;
     if(total7 == "") total7=0;
     if(total8 == "") total8=0;
     if(total9 == "") total9=0;
}
total10 = parseInt(total) + parseInt(total2) + parseInt(total3) + parseInt(total4) + parseInt(total5) + parseInt(total6) + parseInt(total7) + parseInt(total8) + parseInt(total9);
else
     total10 = 'Merci de saisir des nombres';
     document.getElementById('total10').value = total10;
Le bon code :
if(!isNaN(total) && !isNaN(total2) && !isNaN(total3) && !isNaN(total4) && !isNaN(total5) && !isNaN(total6) && !isNaN(total7) && !isNaN(total8) && !isNaN(total9)){
     if(total == "") total=0;
     if(total2 == "") total2=0;
     if(total3 == "") total3=0;
     if(total4 == "") total4=0;
     if(total5 == "") total5=0;
     if(total6 == "") total6=0;
     if(total7 == "") total7=0;
     if(total8 == "") total8=0;
     if(total9 == "") total9=0;
total10 = parseInt(total) + parseInt(total2) + parseInt(total3) + parseInt(total4) + parseInt(total5) + parseInt(total6) + parseInt(total7) + parseInt(total8) + parseInt(total9);
}
else
     total10 = 'Merci de saisir des nombres';
     document.getElementById('total10').value = total10;
Un mauvais point pour toi :-p
0
Oh nooooonnn, ...........................................ca marche !

C'est que j'avais pris l'habitude de me plaindre, moi ! snniff

Bouuuuhh je me suis plaint pour rien , il as vu mon accolade au mauvais endroit Snniff :)

J'ai envie d'etre chiante ...hi hi hi

Question a 2 dollars 50

Pourquoi quand le multiplicateur d'un nombre a virgule est impair ca fait
une suite de 8.850000000000001 a rallonge ??

Le monologue de Céline
Ma petite voie: T'abuse céline... cette fois il va t'envoyer bouler et tu l'aura cherché
Céline: mais non je suis sur qu'il va me répondre encore une fois
Ma petite voie: non non t'exagere, ca se trouve en plus, il bosse en ce moment
Céline : mais c'est une toute petite question...
Ma petite voie: je te dit de...
Céline : Bon ptite voie tu te taie maintenant c'est moi qui commande


Merci Alex
Céline
0
Utilisateur anonyme
22 avril 2008 à 17:01
Hey mais c'est Céline !! Ça faisait un bail dis donc LOLLLLL

Alors j'ai la réponse à ta question. Si tu veux arrondir à 2 chiffres après la virgule tes totaux. Il faut que tu rajoutes dans la fonction javascript qui calcule chaque total par ligne (calculerTotal1, calculerTotal2 etc.) la ligne suivante :
function CalculerTotal() {
	var nombre = document.getElementById('nombre').value;
	var prix = document.getElementById('prix').value;

	var total;

	if(!isNaN(nombre) && !isNaN(prix)){
		total = nombre * prix;
                total = Math.round(total*100)/100;
        }
	else
		total = 'Merci de saisir des nombres';
	document.getElementById('total').value = total;
}
Pour la dernière fonction c'est pareil :
function CalculerTotal10() {

     var total = document.getElementById('total').value;
     var total2 = document.getElementById('total2').value;
	 var total3 = document.getElementById('total3').value;
	 var total4 = document.getElementById('total4').value;
	 var total5 = document.getElementById('total5').value;
	 var total6 = document.getElementById('total6').value;
	 var total7 = document.getElementById('total7').value;
	 var total8 = document.getElementById('total8').value;
	 var total9 = document.getElementById('total9').value;
	 
	   
     if(!isNaN(total) && !isNaN(total2) && !isNaN(total3) && !isNaN(total4) && !isNaN(total5) && !isNaN(total6) && !isNaN(total7) && !isNaN(total8) && !isNaN(total9)){
          if(total == "") total=0;
          if(total2 == "") total2=0;
		  if(total3 == "") total3=0;
		  if(total4 == "") total4=0;
		  if(total5 == "") total5=0;
		  if(total6 == "") total6=0;
		  if(total7 == "") total7=0;
		  if(total8 == "") total8=0;
		  if(total9 == "") total9=0;
          total10 = parseFloat(total) + parseFloat(total2) + parseFloat(total3) + parseFloat(total4) + parseFloat(total5) + parseFloat(total6) + parseFloat(total7) + parseFloat(total8) + parseFloat(total9);
          total10 = Math.round(total10*100)/100;
     }
     else
         total10 = 'Merci de saisir des nombres';
     document.getElementById('total10').value = total10;
}
Petite précision aussi remplace le
parseInt(...)
par
parseFloat(...)
car parseInt s'utilise pour des entiers et parseFloat pour des nombres à virgule.

Voili voilou, je suis en train de réécrire ton formulaire (Monsieur, Madame, Nom, Prénom etc.). Je te poste ça dès que j'ai fini pour que tu vois ce que ça donne.

@ pluche

Alex
0
Utilisateur anonyme
22 avril 2008 à 17:22
Voilà la réécriture de ton formulaire :
<table border="0" align="center" cellspacing="5">
	<tr>
		<td colspan="4" align="center">Monsieur<input name="sex" value="Monsieur" id="sex" type="radio">Madame<input name="sex" value="Madame" id="sex" type="radio"></td>
	</tr>
	<tr>
		<td align="right">Nom :</td>
		<td colspan="3" align="left"><input name="nom" id="nom" type="text"></td>
	</tr>
	<tr>
		<td align="right">Prénom :</td>
		<td colspan="3" align="left"><input name="prenom" id="prenom" type="text"></td>
	</tr>
	<tr>
		<td align="right">Adresse :</td>
		<td colspan="3" align="left"><input name="adresse" id="adresse" type="text"></td>
	</tr>
	<tr>
		<td align="right">Ville :</td>
		<td align="left"><input name="localite" id="localite"></td>
		<td align="right">Code postal :</td>
		<td align="left"><input name="cpa" id="cpa" type="text"></td>
	</tr>
	<tr>
		<td align="right">Tél :</td>
		<td align="left"><input name="numtel" id="numtel" type="text"></td>
		<td align="right">Portable :</td>
		<td align="left"><input name="port" id="port" type="text"></td>
	</tr>
	<tr>
		<td align="right">Adresse email :</td>
		<td colspan="3" align="left"><input name="email" id="email" size="60" type="text"></td>
	</tr>
</table>
Ça donne ça : https://www.enregistrersous.com/

@ pluche

Alex
0
Ca y est c'est fini.

J'ai sans doute été la fille la plus chiante à aider,

Alors je voudrais remercier commentcamarche.net pour
sont forum, qui m'ont permis de réaliser mon formulaire.

Et tout particulierement à Alex, qui n'as compté
ni sont temp , ni sont énergie pour m'aider.
Avec en plus, une grande gentillesse
Désolée de ne pas pouvoir aider a mon tour, mais je suis
une future piqueuse de fesses Lool ( infirmiere )

Cette aide m'a en plus permis de comprendre quelques fonctions de
JS

Alors peut etre , a bientot sur commentcamarche.net

Kiss à Alex

Céline

La petite voie: MMhhh , céline t'as dit "a bientot sur commentcamarche.net", t'as donc déja quelque chose en tete ?
Céline: eh eh, on ne peux rien te cacher .

Allez j'arrete de déconner............ tchao
0
Utilisateur anonyme
23 avril 2008 à 10:21
Bonne continuation ;-) Passe juste ton post en "Résolu" stp ;-)
0
balbeur Messages postés 30 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 15 avril 2011
23 avril 2008 à 11:08
Le probleme est résolu...

Bye ..Céline
0