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.
A voir également:
- Produit Valeurs de deux Tableau
- Clé de produit windows 10 gratuit - Guide
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Nombre de jours entre deux dates excel - Guide
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 + / -
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>
dberba
Messages postés
15
Statut
Membre
merci beaucoup pour ton aide :)