Produit Valeurs de deux Tableau
Résolu
dberba
Messages postés
15
Statut
Membre
-
dberba Messages postés 15 Statut Membre -
dberba Messages postés 15 Statut Membre -
Bonjour,
bonjour,
1-je vais décrire ce que j'essaie de faire
quand je coche une checkbox je met combien de billet de ce type.
2-EXEMPLE :
10$ => 2 billets
20$ => 1 billet
50$ => 4 billets
<image> http://img15.hostingpics.net/pics/852646check1.png </image>
les "FOREACH" imbriqués que j'ai fait donne
10x2
10x1
10x2
20x2
20x1
20x2
50x2
50x1
50x2
résultat = 400$ :p
3-ce que je veux : résultat = (10*2 + 20*1 + 50*2) = 140$
4-Aidez moi :D
et merci d'avance.
bonjour,
1-je vais décrire ce que j'essaie de faire
quand je coche une checkbox je met combien de billet de ce type.
2-EXEMPLE :
10$ => 2 billets
20$ => 1 billet
50$ => 4 billets
<image> http://img15.hostingpics.net/pics/852646check1.png </image>
<?php
if (isset($_POST['x']) && isset($_POST['y'])) {
extract($_POST);
$r = 0;
foreach ($x as $keyX => $valX) {
foreach ($y as $keyY => $valY) {
if (!empty($valY)) {
$r += $valX * $valY.'<br />';
}
}
}
echo $r; //400
}
?>
<form method="post" action="test.php">
<input type="checkbox" name="x[1]" value="10">10$
<input type="number" name="y[1]">
<br />
<input type="checkbox" name="x[2]" value="20">20$
<input type="number" name="y[2]">
<br />
<input type="checkbox" name="x[3]" value="50">50$
<input type="number" name="y[3]">
<br />
<input type="submit">
</form>
les "FOREACH" imbriqués que j'ai fait donne
10x2
10x1
10x2
20x2
20x1
20x2
50x2
50x1
50x2
résultat = 400$ :p
3-ce que je veux : résultat = (10*2 + 20*1 + 50*2) = 140$
4-Aidez moi :D
et merci d'avance.
1 réponse
-
avec tes boucles imbriqués tu multipliait chaque valeur de x par toutes les valeurs de y
et attention le type="number" c'est du html5 et pas compatible avec IE et FireFox (marche avec chrome, safari...)
avec type="text" et en testant is_numeric ça élimine les frappes non numériques, par contre pas de petites flèches + / -
<?php if (isset($_POST['x']) && isset($_POST['y'])) { extract($_POST); foreach ($x as $keyX => $valX) { //on multiplie x par le y de même index if (!empty($y[$keyX]) && is_numeric($y[$keyX])) { $r += $valX * $y[$keyX]; } } echo "resultat= ".$r; //400 } ?> <form method="post" action="test.php"> <input type="checkbox" name="x[1]" value="10" />10$ <input type="text" name="y[1]" value="" /> <br /> <input type="checkbox" name="x[2]" value="20" />20$ <input type="text" name="y[2]" /> <br /> <input type="checkbox" name="x[3]" value="50" />50$ <input type="text" name="y[3]" /> <br /> <input type="submit" name="envoyer" value="Envoyer"/> </form>