cs_jackdaniel9
Messages postés17Date d'inscriptionsamedi 5 décembre 2009StatutMembreDernière intervention22 octobre 2010
-
30 sept. 2010 à 02:00
cs_jackdaniel9
Messages postés17Date d'inscriptionsamedi 5 décembre 2009StatutMembreDernière intervention22 octobre 2010
-
1 oct. 2010 à 18:31
Bonjour,
Il faut que je calcule le prix par rapport à la quantité dans un formulaire pour un panier.
Je me demandais si il était possible de faire la même chose mais en moins de code
Merci d'avance
---
<?php
/* On défini nos variables pour les prix et les champs */
$nbr1='0';
$nbr2='5'; /* PRIX 5$ */
$nbr3='0';
$nbr4='5'; /* PRIX 5$ */
$nbr5='0';
$nbr6='8'; /* PRIX 8$ */
$nbr7='0';
$nbr8='55';
$nbr9='0';
$nbr10='4';
$nbr11='0';
$nbr12='3';
$nbr13='0';
$nbr14='2';
$nbr15='0';
$nbr16='4';
$nbr17='0';
$nbr18='6';
/* On défini nos variables à 0 pour ne pas créer d'erreur dans le champ */
$resultat1='0';
$resultat2='0';
$resultat3='0';
$resultat4='0';
$resultat5='0';
$resultat6='0';
$resultat7='0';
$resultat8='0';
$resultat9='0';
$resultat10='0';
if (isset($_POST['Calculer']))
{
/* On récupère les nombres entrés par l'utilisateur */
$nbr1=$_POST["nbr1"];
$nbr3=$_POST["nbr3"];
$nbr5=$_POST["nbr5"];
$nbr7=$_POST["nbr7"];
$nbr9=$_POST["nbr9"];
$nbr11=$_POST["nbr11"];
$nbr13=$_POST["nbr13"]
$nbr15=$_POST["nbr15"];
$nbr17=$_POST["nbr17"];
$resultat1=$nbr1*$nbr2; /* Nombre de l'utilisateur multiplier par le prix ( 5$ ) petit total 1 */
$resultat2=$nbr3*$nbr4; /* petit total 2 */
$resultat3=$nbr5*$nbr6;
$resultat4=$nbr7*$nbr8;
$resultat5=$nbr9*$nbr10;
$resultat6=$nbr11*$nbr12;
$resultat7=$nbr13*$nbr14;
$resultat8=$nbr15*$nbr16;
$resultat9=$nbr17*$nbr18;
/* GROS total des petits totals */ $resultat10=$resultat1+$resultat2+$resultat3+$resultat4+$resultat5+$resultat6+$resultat7+$resultat8+$resultat9;
}
?>
[...]
<!-- Mon Formulaire avec tous les champs je vous épargnes les autres champs -->
<tr>
<td>Nombre 1 : " onChange="document.Calculatrice.submit();"></td>
<td>Nombre 2 : " readonly='readonly'></td>
<td>total : "></td>
</tr>
[...]
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 30 sept. 2010 à 08:37
Salut,
Il serait sans doute plus logique de faire tout ça en Javascript. Ce qui bien évidemment n'enlèvera pas l'obligation du calcul côté serveur une fois la manipulation totalement finalisée côté client.
Il y a plusieurs solutions pour réduire le code, par exemple :
<?php
$prices = array(5, 11, 8, ....); // tableau des prix
// tableau des quantités
$qty = (isset($_POST['sub'])) ? $_POST['qty'] : array_fill(0, count($prices), 0);
$a = array_map(NULL, $prices, $qty);
?>
<form method="post" action="">
<?php
foreach ($a as $b) {
echo '
total : ';
}
?>
</form>
C'est juste pour montrer une piste hein, il manque des choses (tests des données du formulaires, etc ...)