Formulaire avec checkbox ds la bdd

Fermé
missou55 Messages postés 45 Date d'inscription mardi 22 février 2005 Statut Membre Dernière intervention 18 novembre 2016 - 8 août 2010 à 12:10
missou55 Messages postés 45 Date d'inscription mardi 22 février 2005 Statut Membre Dernière intervention 18 novembre 2016 - 12 août 2010 à 20:59
Bonjour,

Je créé un site d'annonces immobilier dans lequel mon formulaire possède un trentaine de checkbox.

J'ai déjà enregistrer les valeur du formulaire dans ma bdd mais je voudrai un conseil sur la façon la plus logique d'enregistrer mes checkbox.

A présent je les ai enregistrer dans un seul champ dans ma bdd sous forme de chaîne de caractères de 0 et 1 .....
c'est a dire que au final ma chêne fait quelque chose du genre : 10001111010101111100

Mais j'ai plusieurs problèmes avec cette manière de faire...
dont le principal, afficher mes resultats.

Est ce que ya quelque chose de mieux a faire? parce que placer 30 champs supplémentaires dans ma bdd... c'est aussi galère.


Je suis a votre écoute,

Merci de vos conseils

8 réponses

ProgMad Messages postés 88 Date d'inscription dimanche 4 mai 2008 Statut Membre Dernière intervention 15 août 2010
8 août 2010 à 14:51
Salut,

Crée une autre table dans laquelle il y aura tes trentaine de champs. Cette table sera relié à l'autre table où tu sauvegarde le reste de ton formulaire.
A+
0
missou55 Messages postés 45 Date d'inscription mardi 22 février 2005 Statut Membre Dernière intervention 18 novembre 2016 4
8 août 2010 à 17:38
Merci,


Donc ok, je creer une table qui disons s' appelle :
"option"

Et dans la table principale a laquelle je relie je créer quel champ que je relie ? genre je creer un champ " option" aussi? et sous quel format ?

Merci
0
ProgMad Messages postés 88 Date d'inscription dimanche 4 mai 2008 Statut Membre Dernière intervention 15 août 2010
8 août 2010 à 17:48
Dans la table principale tu crée une clé externe vers la table option. Comme ça pour chauque attribut de la table principale tu pourra savoir toutes les options.
0
missou55 Messages postés 45 Date d'inscription mardi 22 février 2005 Statut Membre Dernière intervention 18 novembre 2016 4
8 août 2010 à 19:49
Merci,

Mais comment je créer une clef externe ? Mais qu'est ce que c'est plutôt une clef externe? Je connais a peu près bien mysql mais je ne connaissais pas cette possibilité, ce chapitre.

Merci
0
ProgMad Messages postés 88 Date d'inscription dimanche 4 mai 2008 Statut Membre Dernière intervention 15 août 2010
Modifié par ProgMad le 8/08/2010 à 21:40
Pour pouvoir utiliser les clé étrangères sous mysql il faut avoir ses tables de type InnoDB

Clef externe ou étrangère c'est la même chose. Ça sert à créer un lien entre deux tables.

Pour ce faire ajoute cette ligne à ta table principale:

foreign key (idOption) references t1 (idOption)

Donc idOption est l'id de la table Option.
0

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

Posez votre question
missou55 Messages postés 45 Date d'inscription mardi 22 février 2005 Statut Membre Dernière intervention 18 novembre 2016 4
Modifié par missou55 le 9/08/2010 à 09:32
disons que j'ai une table du nom de option.
j'ai dedans les champs suivants: id - Options avec par exemple:

1 - piscine
2 - tv
3 - wifi
4 - climatisation

et j'ai ensuite une table avec les autre infos du formulaire concernant la maison et egalement un champ idOption ..

Mais ensuite?

Comment enregistrer dans idOption ? et quoi enregistrer dans idOption?

Merci de votre aide
0
missou55 Messages postés 45 Date d'inscription mardi 22 février 2005 Statut Membre Dernière intervention 18 novembre 2016 4
10 août 2010 à 22:02
toujours pas d'aide a mon probleme ?


Merci
0
ProgMad Messages postés 88 Date d'inscription dimanche 4 mai 2008 Statut Membre Dernière intervention 15 août 2010
Modifié par ProgMad le 10/08/2010 à 22:26
salut,

CREATE TABLE OPTION ( 
 idOption int not null auto_increment, 
 piscine boolean, 
 tv boolean, 
 wifi boolean, 
 climationsation boolean, 
 PRIMARY KEY (idOption))TYPE=InnoDB; 


L'autre table doit avoir le champ suivant qui se met lors de la création de la table:

 FOREIGN KEY (idOption) REFERENCES OPTION(idOption)on delete cascade, 
0
missou55 Messages postés 45 Date d'inscription mardi 22 février 2005 Statut Membre Dernière intervention 18 novembre 2016 4
12 août 2010 à 20:59
Merci, je vais tester
0