Formulaire et ajout checkbox dans la bdd

missou55 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   -  
missou55 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   -
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

Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
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
missou55 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   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
missou55 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   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
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
missou55 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   4
 
Merci,

Sinon, j'ai poser une question dans un autre post, est ce que tu pourrai m'aider?

Voici le lien :

https://forums.commentcamarche.net/forum/affich-17910011-tableau-dynamiques-avec-plusieurs-colonnes
0