Page 1 sur 1

Problème non résolu pour insertion de checkbox dans bdd.

Posté : 23 nov. 2005, 11:28
par pierrecalligaro
Bonjour à tous, j'ai encore un p'tit souci avec mes checkbox. En fait je récupère bien dans ma bdd les cases qui ont été cochés mais toujours au rang 0. Je m'explique si je coche la case 1,3,5 il m'insère dans la bdd : 0-1-2. Si je coche la case 4 il insère : 0. etc.

J’insère toutes les cases cochées dans un seul champ de type varchar.

Je commence à devenir fou avec ces cases à cocher !!!

Voici mon code. Pour info je récupère le 'Lib' pour $produits car j'envoie dans un premier temps un mail avec le libellé et ensuite j’insère dans ma bdd.
$r="select * from produits";
$rq=mysql_query($r);
$n=mysql_num_rows($rq);

     for($i=0;$i< $n;$i++)
        {
         $produits=mysql_result($rq,$i,'Lib');
     
echo "<p><label >$produits </label><input name=\"produits[]\" type=\"checkbox\" value=\"$produits\"";

if(!isset($_POST['produits'])){}
else
{
	if(in_array ($produits , $_POST['produits']))
	{echo " checked";}
}
echo ";></p>";

        }

//Pour récupérer les cases à cocher
$tabprod = (isset($_POST['produits']))?$_POST['produits']:null;
$prod="";

$prod="" 
if (!empty($tabprod)) 
{ 
    foreach($tabprod as $cle => $valeur) 
    { 

        $prod.=$cle."-"; 
    } 
} 
$prod=substr($prod,0,-1); //pour enlever le dernier - qui ne sert pas  

$r2="INSERT INTO demande_info_particulier (Produits) values('".$prod."')"; 
$rq2=mysql_query($r2) or die("Erreur : ".mysql_error());

Merci pour votre aide.

Pierre

Posté : 23 nov. 2005, 11:42
par pitt
ah j'ai vu
foreach($tabprod as $cle => $valeur) 
    { 

        $prod.=$valeur."-"; 
    } 




Posté : 23 nov. 2005, 11:53
par pierrecalligaro
Non désolé, oublié ce post, le script marche parfaitement. J’ai passé une bonne parti de de la nuit dessus et je ne me rend même plus compte de mes erreurs.
Encore désolé et merci.

Posté : 23 nov. 2005, 11:59
par pitt
ok met resolu alors