Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: kiwi84 le le 11-05-2007 a 14:23:35

Titre: calcul de base php (debutant)
Posté par: kiwi84 le le 11-05-2007 a 14:23:35

Bonjour à tous,

J'ai un petit calcul à faire en php sur un formulaire html.
Voilà mon code :

<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50"></td>
<td class="texte">Produit 1 </td>
<td width="40"><label>
<input name="pu1" type="text" id="pu1" />
</label></td>
<td width="40"><input name="qu1" type="text" id="qu1" /></td>
<td width="40"><input name="total1" type="text" id="total1" value="
   <? $total=$pu1*$qu1;
   echo $total; ?>" /></td>
</tr>
</table>

Je souhaiterais garder uen structure html pour pouvoir plus facilement modifier par la suite ...

Si qqn peut m'aider ... merci ! ::)

Titre: Re:calcul de base php (debutant)
Posté par: killian le le 11-05-2007 a 16:48:15

Je ne sais pas si tu as bien compris comment fonctionnait le php.

Le php est un langage qui est analysé côté serveur : cela signifie que tu n'auras pas renvoyé ta page au serveur, le calcul ne pourra jamais être fait.

Il faut mettre ton code html dans un formulaire qui pointe vers la même page :

tonfichier.php :

<form method="post" action="tonfichier.php">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50"></td>
<td class="texte">Produit 1 </td>
<td width="40"><label>
<input name="pu1" type="text" id="pu1" />
</label></td>
<td width="40"><input name="qu1" type="text" id="qu1" /></td>
<td width="40"><input name="total1" type="text" id="total1" value="
<? echo $_POST['pu1']*$_POST['qu1']; ?>" /></td>
<td width="40"><input type="Submit" value="Calculer" />
</tr>
</table>
</form>

Ou alors passes par du Javascript qui pourra faire ton calcul en temps réel, en sachant que si il n'est pas activé, le calcul ne sera jamais fait.

PS : Evite les <td width="">, essaye plutôt de passer par les styles !

Titre: Re:calcul de base php (debutant)
Posté par: kiwi84 le le 11-05-2007 a 18:53:37

oki j'te remerci en fait je suis passée par uen fonction JS et ca marche nikel un peu plus long à programmer car il y a pas mal de reference mais c pas bien grave !

A+
claire

Titre: Re:calcul de base php (debutant)
Posté par: killian le le 11-05-2007 a 22:10:45

De rien ;)

Si tu veux en faire profiter le reste de la communauté, tu peux nous montrer ton script qui pourra profiter à tout le monde :)

Bonne continuation !

Titre: Re:calcul de base php (debutant)
Posté par: kiwi84 le le 12-05-2007 a 10:05:28

je l'ai recup sur le net et modifié ;)

<SCRIPT LANGUAGE="JavaScript">

function test_champ(champ) {

// Ci-dessus : expression régulière qui match 0,1 ou plusieurs chiffres ;
// de cette façon on vérifie que l'utilisateur entre bien un nombre entier
if ( (champ.value) ) {
// c'est bien un nombre entier
calcul_form() ;
} else {
// ce n'est pas un nombre entier
alert ("Veuillez entrer un nombre") ;
document.bdc.elements[champ.name].value = "" ; // on efface la valeur entrée erronée
calcul_form() ;
}
}

function calcul_form() {
// le with ci-dessous permet d'abréger "document.forms.bdc.pa1.value" en "pa1.value"
with (document.forms.bdc) {
ta1.value =Math.round( (pa1.value * qa1.value )*100 )/100;
ta2.value =Math.round( (pa2.value * qa2.value )*100 )/100;

etc etc etc avec autant de valeur qu'il faut    
   
   total.value =Math.round
   ((ta1.value *1 + ta2.value *1 )*100)/100 ;
      
   
// les *1 ci-dessus afin que les + fassent une somme arithmétique
// et non pas une concaténation de chaînes de caractères
}
}

</SCRIPT>


et pour le HTML :

case fixe prix unitaire :
<input name="pa1" type="text" class="texte" onBlur="test_champ(this)" readonly="" value="25" size=2 >


case quantité :
<INPUT align="center" NAME="qa1" TYPE="text" class="texte" onBlur="test_champ(this)" value="0"SIZE=3>

calcul du total pour un produit :
<INPUT align="center" NAME="ta1" TYPE="text" class="texte" readonly=""SIZE=4>

et total general :
<input name="total" type="text" class="texte" id="total" size="6">

Voilà tout simple ;)
Un peu long à copier coller pour chaque reference (15 pour le moment lol)

Bon week end ! 8)

Titre: Re:calcul de base php (debutant)
Posté par: killian le le 12-05-2007 a 10:51:14

Si tu veux encore t'améliorer, je te conseille deux liens :

http://pompage.net/pompe/separation/ (http://pompage.net/pompe/separation/) pour un javascript non intrusif, c'est à dire le séparer complètement du code.

http://openweb.eu.org/xhtml/ (http://openweb.eu.org/xhtml/) pour apprendre le XHTML, qui te permettra aussi de séparer le contenu de la mise en forme ( par exemple, éviter les <input size="..">, refermer toutes les balises <input />, tout écrire en minuscules...)

En espérant que ça puisse aider quelqu'un !


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.