Calcul en php via une saisie dans une textbox

Résolu
lecobra62 Messages postés 6 Date d'inscription jeudi 26 janvier 2006 Statut Membre Dernière intervention 7 février 2007 - 5 févr. 2007 à 09:43
lecobra62 Messages postés 6 Date d'inscription jeudi 26 janvier 2006 Statut Membre Dernière intervention 7 février 2007 - 7 févr. 2007 à 08:15
Voila je dois calculer le prixHT grâce à la quantité selectionnée et au prix probléme lorsque je selectionne la quantité dans la premier txt il me fait le calcul pour toute les autre cellules, alors j'ai essayé de faire ça ci-dessous mais malheureusement sens résultat.Pouvez vous m'aider s'il vous plaît merci d'avance

Source:

<tr>
 <td colspan ="6" align="center">
   ----

   Code,
   Designation,
   Quantité,
   Prix Unitaire HT,
   Prix Total HT,
  
----

  80051,
  Cloison d?pla?able nue dim: 1300,
  <form action =\"testdavid2.php\" method=\"GET\"></form>
  ,
  2789.00,
  0, ----

  80091,
  Cloison d?pla?able nue dim: 1700,
  <form action =\"testdavid2.php\" method=\"GET\"></form>
  ,
  3552.00,
  0, ----

  8005,
  Cloison d?pla?able ?quip?e dim: 1300,
  <form action =\"testdavid2.php\" method=\"GET\"></form>
  ,
  4038.00,
  0, ----

  800801,
  Cloison d?pla?able ?quip?e dim: 1600 triple,
  <form action =\"testdavid2.php\" method=\"GET\"></form>
  ,
  7466.00,
  0, ----

  8037,
  Bandage dim: 1900,
  <form action =\"testdavid2.php\" method=\"GET\"></form>
  ,
  946.00,
  0, ----

  743,
  Bouchon sym?trique bronze 2 pouces avec verrou,
  <form action =\"testdavid2.php\" method=\"GET\"></form>
  ,
  16.00,
  0,   ----

   Prix Total :,
   ...,
  
 

 </td>
</tr>  

Mon code pour afficher ci-dessus :

<?php
$i=0;


 while ($Ligne = $resultreq->fetch_object())
  { 
  $ref=$Ligne->REF_PIECE;
  $lib=$Ligne->DESIGNATION;
  $prix=$Ligne->PRIX_UNITAIRE;
  $qte=$_GET["txtquantite"];
  $prixHT= $prix * $qte;
  
  echo'<tr>
  <td>'.$ref.'</td>
  <td>'.$lib.'</td>
  <form action ="testdavid2.php" method="GET"><td></form>
  </td>
  <td>'.$prix.'</td>
  <td>'.$prixHT.'</td></tr>';
  $i++;
  
  }
  
?>

8 réponses

Kdecherf Messages postés 96 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 18 avril 2007
5 févr. 2007 à 20:18
Bonsoir,

Essayes ça :

Remplaces $qte=$_GET["txtquantite"];
Par $qte=$_GET["txtquantite"].$i;

Note personnelle, je doute que c'est une bonne idée de redéclarer un <form> à chaque ligne de ton tableau

Cordialement,Kdecherf
3
lecobra62 Messages postés 6 Date d'inscription jeudi 26 janvier 2006 Statut Membre Dernière intervention 7 février 2007
6 févr. 2007 à 08:07
Merci kdecherf, j'ai changé l'emplacement du form le positionnant en dehors de ma boucle c'est vrai que c'est inutile de declarer à chaque ligne!
Mais néanmoins ta solution ne résoud pas mon probléme.Voila ce que cela me donne :

<table border="0" cellspacing="2" align="center" >
<tr>
 <td colspan ="6" align="center">
 <table border="1">
  <tr>
   <td>Code</td>
   <td>Designation</td>
   <td>Quantité</td>
   <td>Prix Unitaire HT</td>
   <td>Prix Total HT</td>
  </tr>
<form action ="testdavid2.php" method="GET">
<tr>
  <td>80051</td>
  <td>Cloison d?pla?able nue dim: 1300</td>
  <form action ="testdavid2.php" method="GET"><td></form>
  </td>
  <td>2789.00</td>
  <td>0</td></tr><tr>
  <td>80091</td>
  <td>Cloison d?pla?able nue dim: 1700</td>
  <td>
  </td>
  <td>3552.00</td>
  <td>3552</td></tr><tr>
  <td>80121</td>
  <td>Cloison d?pla?able nue dim: 2000</td>
  <form action ="testdavid2.php" method="GET"><td></form>
  </td>
  <td>4500.00</td>
  <td>9000</td></tr><tr>
  <td>8005</td>
  <td>Cloison d?pla?able ?quip?e dim: 1300</td>
  <form action ="testdavid2.php" method="GET"><td></form>
  </td>
  <td>4038.00</td>
  <td>12114</td></tr><tr>
  <td>800801</td>
  <td>Cloison d?pla?able ?quip?e dim: 1600 triple</td>
  <form action ="testdavid2.php" method="GET"><td></form>
  </td>
  <td>7466.00</td>
  <td>29864</td></tr><tr>
  <td>8037</td>
  <td>Bandage dim: 1900</td>
  <form action ="testdavid2.php" method="GET"><td></form>
  </td>
  <td>946.00</td>
  <td>4730</td></tr><tr>
  <td>743</td>
  <td>Bouchon sym?trique bronze 2 pouces avec verrou </td>
  <form action ="testdavid2.php" method="GET"><td></form>
  </td>
  <td>16.00</td>
  <td>96</td></tr>
</form>
3
cs_Springer Messages postés 85 Date d'inscription lundi 14 juillet 2003 Statut Membre Dernière intervention 14 mars 2007 1
6 févr. 2007 à 11:25
bonjour,
voici ce que je te propose
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<?php
if($_POST['txtquantite'] != "")$txtquantite = $_POST['txtquantite']; else $txtquantite = "";

//tableau pour le test. A remplacer par ta requète$tab_contenu array(array("code"> "80051", "Designation" => "Cloison déplaçable nue dim: 1700", "PU" => "2789.00"), array("code" => "80091", "Designation" => "Cloison déplaçable nue dim: 1700", "PU" => "3552.00"), array("code" => "80121", "Designation" => "Cloison déplaçable nue dim: 2000", "PU" => "4500.00"), array("code" => "8005", "Designation" => "Cloison déplaçable équipée dim: 1300", "PU" => "4038.00"), array("code" => "800801", "Designation" => "Cloison déplaçable équipée dim: 1600 triple", "PU" => "7466.00"), array("code" => "8037", "Designation" => "Bandage dim: 1900", "PU" => "946.00"), array("code" => "743", "Designation" => "Bouchon symétrique bronze 2 pouces avec verrou", "PU" => "16.00"));

?>
<html>
<head>
 <title>Calcul du PT en fonction de la quantité</title>
</head>



 <form action ="index.php" method="post">
 <table border="1">
  ----

  , Code</td>
   D&eacute;signation,
   Quantit&eacute;,
   Prix Unitaire HT,
   Prix Total HT,
 

<?php
//La boucle while est à modifier aussi, elle est conçue pour le tableau de test pas pour une requète.
$i = 0;
while($element = each($tab_contenu))
{
$tab_elmt = $element['value'];
$PT = $tab_elmt['PU']*$txtquantite[$i];
echo \"----
\r\n\";
echo \"".$tab_elmt['code'].", \r\n\";
echo \"".$tab_elmt['Designation'].", \r\n\";
echo \", \r\n\";
echo \"".$tab_elmt['PU'].", \r\n\";
echo \"".$PT.", \r\n\";
echo \"\r\n\";
$i++;
}
?>
----

</form>
 </td>
</tr>
</table>

</html>
3
lecobra62 Messages postés 6 Date d'inscription jeudi 26 janvier 2006 Statut Membre Dernière intervention 7 février 2007
6 févr. 2007 à 11:29
merci pour tout vos conseil j'ai trouvé a l'instant pour l'histoire du tableau c'est pa possible j'ai environ 6500 piece et de plus il peut que j'en rajoute ^par la suite mé sinon merci quand j'y avais pensé ;-) merci a tous bye
3

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

Posez votre question
Kdecherf Messages postés 96 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 18 avril 2007
6 févr. 2007 à 19:38
Dernière possibilité si tu veux t'amuser, au lieu d'envoyer le formulaire à PHP pour calculer, tu fais les calculs en " live " à l'aide de JavaScript (avec un onFocus, onChange, ...)

Cordialement,
Kdecherf
3
lecobra62 Messages postés 6 Date d'inscription jeudi 26 janvier 2006 Statut Membre Dernière intervention 7 février 2007
7 févr. 2007 à 08:15
Sa tombe bien c'est ce que j'ai fais mdr!!!! maintenant le pb c'est de trouver le prix total de l'ensemble des piéces si vous avez une idée

RETOUR
 
----

  <table border="1">
  ----

   , Code</td>
   Designation,
   Quantité,
   Prix Unitaire HT,
   Prix Total HT,
  
 <!--<form action =\"testdavid2.php\" method=\"GET\">-->
  <form>
   ----
80051, <!--affiche la reference de la piece-->
        <option>Cloison d?pla?able nue dim: 1300</option>, <!--affiche le libelle de la piece-->
   ,
   <option>2789.00</option>,
   ,
  

  </form>
  <form>
   ----
80061, <!--affiche la reference de la piece-->
        <option>Cloison d?pla?able nue dim: 1400</option>, <!--affiche le libelle de la piece-->
   ,
   <option>2858.00</option>,
   ,
  

  </form>
  <form>
   ----
800811, <!--affiche la reference de la piece-->
        <option>Cloison d?pla?able nue dim: 1600 triple</option>, <!--affiche le libelle de la piece-->
   ,
   <option>3787.00</option>,
   ,
  

  </form>
  <form>
   ----
80091, <!--affiche la reference de la piece-->
        <option>Cloison d?pla?able nue dim: 1700</option>, <!--affiche le libelle de la piece-->
   ,
   <option>3552.00</option>,
   ,
  

  </form>
  <form>
   ----
80121, <!--affiche la reference de la piece-->
        <option>Cloison d?pla?able nue dim: 2000</option>, <!--affiche le libelle de la piece-->
   ,
   <option>4500.00</option>,
   ,
  

  </form>
  <form>
   ----
8005, <!--affiche la reference de la piece-->
        <option>Cloison d?pla?able ?quip?e dim: 1300</option>, <!--affiche le libelle de la piece-->
   ,
   <option>4038.00</option>,
   ,
  

  </form>
  <form>
   ----
8008, <!--affiche la reference de la piece-->
        <option>Cloison d?pla?able ?quip?e dim: 1600</option>, <!--affiche le libelle de la piece-->
   ,
   <option>4765.00</option>,
   ,
  

  </form>
  <form>
   ----
800801, <!--affiche la reference de la piece-->
        <option>Cloison d?pla?able ?quip?e dim: 1600 triple</option>, <!--affiche le libelle de la piece-->
   ,
   <option>7466.00</option>,
   ,
  

  </form>
  <form>
   ----
8036, <!--affiche la reference de la piece-->
        <option>Bandage dim: 1800</option>, <!--affiche le libelle de la piece-->
   ,
   <option>905.00</option>,
   ,
  

  </form>
  <form>
   ----
8037, <!--affiche la reference de la piece-->
        <option>Bandage dim: 1900</option>, <!--affiche le libelle de la piece-->
   ,
   <option>946.00</option>,
   ,
  

  </form>
  <form>
   ----
743, <!--affiche la reference de la piece-->
        <option>Bouchon sym?trique bronze 2 pouces avec verrou </option>, <!--affiche le libelle de la piece-->
   ,
   <option>16.00</option>,
   ,
  

  </form>
  <form>
   ----
80570, <!--affiche la reference de la piece-->
        <option>rondelle grower inox M10</option>, <!--affiche le libelle de la piece-->
   ,
   <option>0.10</option>,
   ,
  

  </form>
  ----

   Prix Total :,
   ,
  

 

 </td>
</tr>  

moi de mon côté je continu à chercher!!!
merci d'avance
3
Yoteco Messages postés 111 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 5 novembre 2008
5 févr. 2007 à 14:28
Salut,

Pourrais-tu être un peu plus précis que simplement sa va pas? Qu'est-ce qui va pas ?

Ce qui est incompréhensible, c'est que le monde soit compréhensible. (Albert Einstein)
0
lecobra62 Messages postés 6 Date d'inscription jeudi 26 janvier 2006 Statut Membre Dernière intervention 7 février 2007
5 févr. 2007 à 14:34
Voilà mon problème c'est que j'ai plusieurs lignes dans un tableau que je rempli dynamiquement. A chaque objet que j'ajoute, une ligne se crée. Et dans cette ligne j'ai une zone de texte qui se crée afin de pouvoir mettre la quantité de la pièce voulu. Or lorsque je met un certain nombre dans celui ci, il me calcule non pas pour une pièce mais pour toute les autres pièces sélectionnées, au lieu de calculer pour la pièce de la ligne.
0