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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème non résolu pour insertion de checkbox dans bdd.

par pitt » 23 nov. 2005, 11:59

ok met resolu alors

par pierrecalligaro » 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.

par pitt » 23 nov. 2005, 11:42

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

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



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

par pierrecalligaro » 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