Formulaire et ajout checkbox dans la bdd

Bonjour,

J'ai vraiment besoin de votre aide. je suis perdu depuis quelques jours et je n'ai pas trouver de solution.

Je creer un site marchand codé en php.
Dedans j'ai un formulaire dans lequel j'ajoute un article avec des infos,dont l'info "couleur" de l'article. Mais cet article peut avoir plusieurs couleurs, donc l'ideal serait de rajouter dans la table article un champ couleur dans lequel j'y ajoute la couleur 1 et la couleur 2 ... et je separerais cette couleur par une chaine de caratere specifique, comme par exemple 1#$2$#3... et j'utiliserai la fonction explode(). (biensure, il existe un table avec toutes les couleurs existantes)

Mais comment faire pour enregistrer dans le meme champ de ma table article des differents checkbox? et en plus qui sont dans le meme formulaire que la creation de l'article.

Merci

5 réponses

  1. salut

    déjà dans ton formulaire tu mets

    <input type "checkbox" name="couleur[]" value="1" />1
    <input type "checkbox" name="couleur[]" value="2" />2
    <input type "checkbox" name="couleur[]" value="3" />3
    
    etc...


    du fait des [] dans le name, les cases cochées seront renvoyées sous forme d'array dans $_POST['couleur']

    ensuite tu récupères et transformes cet array en chaine pour l'enrregistrer dans ta BDD

    $array_couleur=mysql_real_escape_string($_POST['couleur']); //ça c'est pour sécuriser la bdd
    //transfo en chaine
    $chaine_couleur=implode("|",$array_couleur);
    // il vaut mieux utiliser autre chose que #  ou $ comme séparateur  par exemple |  (AltGr + 6)
    
    
    1
    1. Merci,
      je vais faire un teste,
      la facon dont tu m'as expliquer parait vraiment simple.
      J'ai encore pas mal de probleme avec le checkbox,
      Je te tiens au courant dans l'heure,

      Merci encore
      1
      1. Par contre, j'ai une erreur :

        Warning: mysql_real_escape_string() expects parameter 1 to be string, array given in /var/www/vhosts/www......php on line 49

        Sinon, sans la fonction mysql_real_escape_string, ca marche nikel.
        C'est due a quoi cette erreur?

        Merci
        0
        1. ha oui ok cette fonction mysql_real_escape string ne marche qu'avec une chaine pas avec un array

          donc fais sans cette fonction ou alors mets la plus loin

          $chaine_couleur=mysql_real_escape_string(implode("|",$array_couleur));
          
          0