Pbm avec les checkbox en PHP5

Fermé
KA13 - 28 mars 2009 à 23:28
niahoo Messages postés 247 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 23 mai 2010 - 29 mars 2009 à 03:08
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 lundi 24 décembre 2007 Statut Membre Dernière intervention 23 mai 2010 19
29 mars 2009 à 03:08
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