Calcul en php via une saisie dans une textbox

[Résolu]
Signaler
Messages postés
6
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
7 février 2007
-
Messages postés
6
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
7 février 2007
-
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

Messages postés
96
Date d'inscription
mardi 9 janvier 2007
Statut
Membre
Dernière intervention
18 avril 2007

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
Messages postés
6
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
7 février 2007

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>
Messages postés
85
Date d'inscription
lundi 14 juillet 2003
Statut
Membre
Dernière intervention
14 mars 2007
1
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>
Messages postés
6
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
7 février 2007

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
Messages postés
96
Date d'inscription
mardi 9 janvier 2007
Statut
Membre
Dernière intervention
18 avril 2007

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
Messages postés
6
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
7 février 2007

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
Messages postés
111
Date d'inscription
lundi 20 octobre 2003
Statut
Membre
Dernière intervention
5 novembre 2008

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)
Messages postés
6
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
7 février 2007

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.