Formulaire et ajout checkbox dans la bdd

missou55 Messages postés 52 Statut Membre -  
missou55 Messages postés 52 Statut Membre -
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. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  2. missou55 Messages postés 52 Statut Membre 4
     
    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
  3. missou55 Messages postés 52 Statut Membre 4
     
    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
  4. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question