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 3705 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
Rejoignez-nous