J'ai un formulaire sur une page avec 3 champs select multiple menu_produit[x][] et 3 cases à cocher menu_option[x].
1/ Je récupère les produits choisis dans le select menu_produit[x][] et les mets dans une variable $menu_choix[x] séparés par un "-" (en vu d'une exploitation dans une BDD ).
2/ Je récupère le résultat des cases menu_option[x] et mets dans une variable $menu_option[x]= 0 si non coché ou $menu_option[x]=1 si cochée.
J'ai développé un script qui fonctionne, mais que je trouve assez indigeste (voir nauséeux
Auriez vous une idée pour le simplifier un peu (ou le trouvez-vous bien...ce dont je doute fortement
Mon formulaire html :
<form>
<B>PRODUIT 1</B><BR>
<select multiple="multiple" name="menu_produit[1][]">
<option value="1">Pizza 1</option>
<option value="2">Pizza 2</option>
<option value="3">Pizza 3</option>
</select>
<BR>
Option produit 1 ? <input name="menu_option[1]" type="checkbox" />
<BR>
<BR>
<B>PRODUIT 2</B><BR>
<select multiple="multiple" name="menu_produit[2][]">
<option value="4">Boisson 1</option>
<option value="5">Boisson 2</option>
<option value="6">Boisson 3</option>
</select>
<BR>
Option produit 2 ? <input name="menu_option[2]" type="checkbox" />
<BR>
<BR>
<B>PRODUIT 3</B><BR>
<select multiple="multiple" name="menu_produit[3][]">
<option value="7">Dessert 1</option>
<option value="8">Dessert 2</option>
<option value="9">Dessert 3</option>
</select>
</form>
<BR>
Option produit 3 ? <input name="menu_option[3]" type="checkbox" />
<BR>
<BR>
Mon script de traitement du formulaire en php :
for($i=1;$i<=3;$i++)
{
if(isset($menu_produit[$i]))
{
// On créé la valeur $menu_choix[$i]
$menu_choix[$i]="";
foreach ($menu_produit[$i] as $produitselect)
{
$menu_choix[$i].=''.$produitselect.'-';
}
// Vérification si case coché pour menu_pay[] ou non
if(!isset($menu_option[$i]))
{
$menu_option[$i]="0";
}
else
{
$menu_option[$i]="1";
}
}
else
{
$menu_choix[$i]="0";
$menu_option[$i]='0';
}
}
Merci d'avance pour votre aide !