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

Eléphant du PHP | 81 Messages

23 nov. 2005, 11:28

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

Eléphant du PHP | 153 Messages

23 nov. 2005, 11:42

ah j'ai vu
foreach($tabprod as $cle => $valeur) 
    { 

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




Eléphant du PHP | 81 Messages

23 nov. 2005, 11:53

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.

Eléphant du PHP | 153 Messages

23 nov. 2005, 11:59

ok met resolu alors