Pbm avec les checkbox en PHP5

KA13 -  
niahoo Messages postés 247 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour A toutes et tous.
D’abords, je veux vous remercier d’avance même si vous n’arriver pas à m’aider

J’ai une BDD qui contient une table PRODUIT, avec les champs : id, nom, quantité, prix.
Dans 1 formulaire, j’ai affiché ces valeurs dans un tableau, et pour chaque produit j’ai ajoutait une colonne qui contient une zone à cocher (check box), pour permettre au client de faire des choix.
Tout ca marche jusqu’à maintenant, pour récupérer les valeurs de toutes les check box choisit, (dans le but de les afficher au client à la fin de ses choit) j’ai fait une boucle :
for ($i=1;$i<=$num;$l++)
{
if($_POST['Produit']=="$i")
{
$sgET=mysql_query("Select * From Produit WHERE id='$i'");
$nom=mysql_result($sgET, 0, Nom);
echo "$nom";
}
}
mais elle me donne que la valeur du dernier produit choisit.

1 réponse

niahoo Messages postés 247 Date d'inscription   Statut Membre Dernière intervention   19
 
alors,

dejà regarde là: ($i=1;$i<=$num;$l++)
ta derniere varaible ne porte pas le même nom que les autres, ça risque de faire des bugs,

mais l'erreur vient surtout de là: if($_POST['Produit']=="$i")

car ton $_POST["produit"] ne fait référence qu'a un seul produit, tes checkboxes doivent toutes avoir un nom différent.

quand tu crées tes checbox, crée les comme ça

while($ligne = mysql_fetch_assoc($rs))
{
    echo("<input type=\"checkbox\" name=\"cc_".$ligne["num_produit"]."\">".$ligne["nom_produit"]);
}

en rajoutant bien sur de quoi faire entrer ça dans ton tableau.

et ensuite dans ta page php

foreach($_POST as $nom => $valeur)
{
    $tab=explode("_", $nom); // comme tes checkboxes ont un nom qui commence par 'cc_', $tab[0] contiendra 'cc' et $tab[1] contiendra le num_produit
    if($tab[0] == 'cc') // car tu peux avoir d'autres $_POST qui ne sont pas tes checkbox de produits
    {
         //ici faire ce que tu veux, le num produit est contenu dans $tab[1] et dans $valeur
    }
}




0