Total Calcul Panier

Résolu
cs_jackdaniel9
Messages postés
17
Date d'inscription
samedi 5 décembre 2009
Statut
Membre
Dernière intervention
22 octobre 2010
- 30 sept. 2010 à 02:00
cs_jackdaniel9
Messages postés
17
Date d'inscription
samedi 5 décembre 2009
Statut
Membre
Dernière intervention
22 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>
[...]

5 réponses

kohntark
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
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 ...)

Cordialement,


Kohntark -
3
DiabloBros
Messages postés
25
Date d'inscription
mardi 24 octobre 2006
Statut
Membre
Dernière intervention
12 novembre 2010

30 sept. 2010 à 02:17
petit truc a 2balles

$resultat1=$resultat2=$resultat3=$resultat4=$resultat5=
$resultat6=$resultat7=$resultat8=$resultat9=$resultat10='0';


DiabloBros Was Here...
0
DiabloBros
Messages postés
25
Date d'inscription
mardi 24 octobre 2006
Statut
Membre
Dernière intervention
12 novembre 2010

30 sept. 2010 à 02:22
et je dirai meme que si tes $nbr sont en fait des contante est non des varible ^^ et bien $nbr1=nbr3=$nbr5=$resultat1 etc etc ...

DiabloBros Was Here...
0
neigedhiver
Messages postés
2480
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
19
30 sept. 2010 à 03:19
Salut,

Pour faire moins de code, on peut utiliser un tableau et array_sum().

Au passage, le pluriel de total est totaux...

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
0

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

Posez votre question
cs_jackdaniel9
Messages postés
17
Date d'inscription
samedi 5 décembre 2009
Statut
Membre
Dernière intervention
22 octobre 2010

1 oct. 2010 à 18:31
Merci !
0