Boucle + variable + condition = quel bonheur

Résolu/Fermé
niconovice Messages postés 954 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 3 mars 2014 - 17 janv. 2009 à 19:25
Azer_Ty Messages postés 104 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 4 juillet 2011 - 19 janv. 2009 à 21:04
Bonjour,
la question est simple mais la reponse ne l'ai pas !
j'aimerai créer un formulaire de cases sur mon site jusqu'ici tout va bien, là où j'aimerai compliquer la chose c'est les reponses, j'aimerai que si les reponses sont les choix "1+2+4" la reponse soit "7"exemple:

<form name="formulaire1" method="POST" action="new 4.php">
quels sont vos preferences culinaires ? :<br>
<input type="checkbox" name="case[]" value="1"> viande <br>
<input type="checkbox" name="case[]" value="2"> frites<br>
<input type="checkbox" name="case[]" value="3"> salade <br>
<input type="checkbox" name="case[]" value="4"> ketchup <br>
<input type="checkbox" name="case[]" value="5"> sushi<br>
<input type="checkbox" name="case[]" value="6"> nems <br>
<input type="checkbox" name="case[]" value="7"> riz taï <br>
<input type="checkbox" name="case[]" value="8"> pain<br>
<input type="submit" name="submit" value="Envoyer">
</form>

ce que je voudrai c'est pouvoir dire que la reponse "9" soit:
echo " tu es plutot du genre hamburger toi !

est ce que quelqu'un peut m'aider svp ?

2 réponses

Azer_Ty Messages postés 104 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 4 juillet 2011 60
17 janv. 2009 à 20:46
Salut,
Cela t'aide t-il ?

ta page "new 4.php"
<?php

if(isset($_POST['submit']))
{
	// boucle qui parcourt le tableau
	$somme = 0;
	foreach($_POST['case'] as $val)
	{
		// création de la somme
		$somme = $somme + $val;
	}

	switch($somme)
	{
		case 0: echo "Vous ne mangez rien !!";	break;
		case 1: 	break;
		case 2: 	break;
		case 3: 	break;
		case 6: 	break;
		case 7: 	break;
		case 8: 	break;
		case 9: echo " tu es plutot du genre hamburger toi ! ";	break;
		case 10: ;	break;
		case 36: echo "Tu mlange de tout !!";	break;
		// autant de cas que voulu
		default: echo "c'est bizarre";
	}
}
?>

1
niconovice Messages postés 954 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 3 mars 2014 86
19 janv. 2009 à 19:25
merci de ta reponse azer_ty, je ne suis pas champion dans l'art de manier les boucle pour l'instant alors je me suis debrouillé de la sorte:
<form method="post" action="page3.php">
<p>
Cochez les aliments que vous aimez manger :<br />
<input type="checkbox" name="frites" id="frites" /> <label for="frites">Frites</label><br />
<input type="checkbox" name="steack" id="steack" /> <label for="steack">Steack</label><br />
<input type="checkbox" name="huitres" id="huitres" /> <label for="huitres">huitres</label><br />

</p>
<input type="submit" value="Valider" />
</form>
suivi de la page:
<?php
if (isset($_POST['frites']))
{$frites=8;}
else
{$frites=0;}
if (isset($_POST['steack']))
{$steack=4;}
else
{$steack=0;}
if (isset($_POST['huitres']))
{$huitres=6;}
else
{$huitres=0;}

$nombre = $frites + $steack + $huitres;
switch ($nombre) { // on indique sur quelle variable on travaille

case 0: // dans le cas où $note vaut 0
echo "tu preferes boire peut etre ?!";
break;

case 4: // dans le cas où $note vaut 0
echo "tu n'aimes que la viande et pas les frites ?!";
break;

case 6: // dans le cas où $note vaut 0
echo "que des huitres ?! dans ce cas c'est plutot plateau de fruits de mer !!!";
break;

case 8: // dans le cas où $note vaut 5
echo "tu n'aimes que les frites et pas la viande ?!";
break;

case 10: // etc etc
echo "steack et huitres ?! pas en même temps j'espere !";
break;

case 12: // dans le cas où $note vaut 7
echo "rien de tel qu'un bon steack frites !!! :D";
break;

case 14:
echo "frites et huites ?! dans la même assiette ?! beurk !!";
break;

case 18:
echo "plus il y en a mieux c'est ?! A la guerre comme à la guerre !!!";
break;

default:
echo "Désolé, je n'ai pas de message à afficher pour cette note";

}
?>
voilà le resultat est compréhensible facilement et leger, moins que le tien, mais je me debrouille à peine dans tout ça.
merci encore d'avoir repondu !
0
Azer_Ty Messages postés 104 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 4 juillet 2011 60
19 janv. 2009 à 21:04
De rien, c'est vrai que mon code est assez avancé. ^^
0