|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité(e)
Messages : n/a ![]() |
Bonsoir à tous,
Comme je suis nouveau, je me présente : Olivier636, passion pour le net et la moto, j’adore créer (de tout), j’adore mes amis, mes potes, les femmes, le Hi-tech, la bouf etc. Bon voici mon problème et après avoir parcouru des sites/forums j’ai pas vraiment trouvé la solution à mon problème d’où mon inscription car ce Forum est fort actif. En soit je sens que mon problème est « simple » mais j’ai du mal à le mettre en place, car je ne suis pas un DEV pur. Projet perso : Je crée un site avec un espace membres dans lequel les membres peuvent mettre leur profil à jour. Tout fonctionne bien pour le formulaire (création et édition) sauf pour les Checkbox, mon problème est là. Dans mon formulaire « profil » j’ai (entre autres) 3 questions qui nécessites 10 Checkbox chacune : 1- Côté SQL, dans la table « profil » je ne sais pas comment je dois déclarer mon champ ou mes champs Checkbox. Dois-je déclarer un champ en Longtext et les enregistrements des Checkbox seront enregistrés ainsi : choix01, choix02, choix03, etc. OU Dois-je créer un champ par Checkbox (soit 10x3) ? Tout en sachant que je vais m’en servir par la suite pour le moteur de recherche que je ferais par la suite. 2- Dans mon formulaire je ne sais pas comment coder ceci. J’ai bien vu des exemples mais je suis largué au possible. 3- Dois-je faire une table qui soit corrélation avec les choix, pour dire que 1=choix01, 2= choix02 etc. ? Bref vous voyez mon problème ! Merci pour vos lumières car je tiens vraiment à savoir le faire mais aussi avancer sur mon projet perso. |
00
|
|
|
#2 | ||||
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Salut et bienvenue !
Perso, j'ai tendance à bien aimer quand c'est tout automatisé, je vais donc te proposer une formule dans cette orientation. Tu vas avoir besoin de plusieurs tables dans ta BDD. Voici deux solutions :
Dans ton formulaire (généré par PHP), je te propose d'utiliser un tableau à plusieurs dimensions et plusieurs niveaux. Euh, ça peut faire peur comme nom mais, en fait, c'est simple à utiliser... Voici un exemple : Code :
Code :
$checkboxes [$id_question] [$id_reponse] Bien entendu, cela suppose de commencer par coder un script d'administration des questionnaires avant de coder le script d'affichage de ces mêmes questionnaires. Cela peut paraître fastidieux mais c'est cette méthode qui est utilisée pour la quasi totalité des développements en PHP...
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
||||
|
|
00
|
|
|
#3 |
|
Invité(e)
Messages : n/a ![]() |
Merci pour ta réponse !
Hum mais es-tu certains que celà correspond à mon attente car là j'ai un doute. J'ai déjà ma table "profil" où il y a "id_membre, nom, prénom, adresse, etc" et je souhaite rajouter d'autres champs "choix01, choix02, choix03, etc. " dans cette même table. Les Choix en question c'est juste des Checkboxs à cocher qui auront pour valeur 0 ou 1. Et des Choix doivent être enregistrer dans un seul champ de type Longtext ou bien créer un champ pour chaques Checkbox ? Là j'ai l'impression d'avoir comme un jeu/concourt ou du même style, nan ! Peut être que je dois recadrer ma demande ou mon attente ? Merci pour votre aide |
00
|
|
|
#4 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
J'ai bien commencé en disant que je te proposerais la solution la plus modulable ^^
Si tu souhaites tout mettre dans ta table membre, libre à toi, mais je t'assure que ça va rapidement être la foire. Je suis convaincu d'avoir proposé une solution qui correspond à ta demande. Cela dit, je l'ai peut-être faite un peu trop flexible (+ flexile signifie : + complexe à mettre en place mais + facile à utiliser par la suite). Ce que je te propose te permet de créer des questionnaires, autant que tu le souhaites. Si tu es certain de ne jamais devoir mettre d'autres questionnaires, alors je t'ai en effet mal répondu. En ce cas, il serait plus facile de déclarer des champs différents (même si je continue à penser qu'une table distincte serait la meilleure solution) car cela t'éviterait d'utiliser explode() à chaque lecture de ta table. De mon point de vue, les deux solutions que tu proposes sont tout autant foireuses l'une que l'autre Je vais essayer de passer outre mon aversion et t'aider malgré tout ^^ Pour moi, ça ressemble bien plus à un questionnaire qu'à un profil de membre. Si tu optes pour les champs dans la table (ce qui serait le plus adapté, je pense), alors c'est très simple à mettre en place. Tu vas avoir une requête à rallonge (plus de 30 champs) pour récupérer le profil du membre, puis un formulaire à rallonge (les mêmes 30+ champs) pour l'afficher. C'est tout.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#5 |
|
Invité(e)
Messages : n/a ![]() |
Ok J'écoute le maître et je vais voir ceci Je reviens une fois que j'aurais avancé etc. Merci encore |
00
|
|
|
#6 | |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 421 ![]() |
et bienvenue au club !Citation:
Parce que bon la solution de Kirkis est très bien pour un sondage mais si c'est pour juste savoir si le mec il veut des mails ou pas c'est peut-etre pas forcément adéquat. plus flexible = plus facile à gérer, mais aussi = plus lent. Une solution proposée permet de résoudre un problème donné, mais là il nous manque des infos sur ce dit problème. En tout cas je te remercie pour avoir fais l'effort de te présenter (rarissime) et d'avoir expliquer en détail ce que tu veux faire (pas très courant) 8) |
|
|
|
00
|
|
|
#7 |
|
Invité(e)
Messages : n/a ![]() |
Merci pour ton message Mr N.
Si je me suis présenté c’est que de mon côté je gère également un site/Forum (voir lien) et que malgré une Charte et MP lors d’une inscription, certains ne se présentent pas et je fais la « guerre » à ceci car un Forum est comme une boutique : on entre, on dit bonjour, on dit se que l’on cherche etc., et les membres du Forum font office de « conseiller/commercial » pour router les gens etc. Voilà 8) Revenons à mon PB (qui n’a rien à voir avec mon site actuel, c’est un autre projet) Ok je reformule ! J’ai un espace membre dans lequel les membres peuvent mettre leur profil à jour : Nom, prénom, adresse etc. Je souhaite ajouter à leur profil plus d’informations donc plus de détails : Question N°1 (cocher les cases vous correspondant) : Choix01 - Choix02 - Choix03 … Choix10 Question N°2 (cocher les cases vous correspondant) : Choix01 - Choix02 - Choix03 … Choix10 Actuellement j’ai une BASE avec X tables mais je donne les essentielles pour ce PB: Une table MEMBRE et MEMBRE_PROFIL qui sont en corrélations ; dans la table MEMBRE_PROFIL j’ai déjà X Champs et je souhaite rajouter les ChoixX (ceux des deux questions). Donc comment procéder pour Enregistrer les Choix dans ma table MEMBRE_PROFIL ? Sous SQL comment créer et déclarer le ou les Champs qui va recevoir la valeur 0 ou 1 (non coché ou coché donc) ! Sous PHP comment créer le code ! En sachant que plus tard je vais utiliser ces Choix pour un moteur de recherche interne. Et ça ne va pas plus loin que ça ! Bien sur selon les profils des membres les questions ne seront pas les mêmes et le nombres de Choix sera aussi différents mais ça c’est la forme et non le fond de mon attente. (j'ai une autre table MEMBRE_PROFIL_2 pour les autres profils; j'ai mis "2" ici pour dire qu'elle différente) Allez on avance Merci |
00
|
|
|
#8 | |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 421 ![]() |
Citation:
Et avant de te poser les questions techniques du genre comment-qu-on-fait-en-php-?, tu ferais mieux de définir plus précisément tes besoins. Car là, si je comprends bien tu as des membres, chaque membre à un profil parmis n, chaque profil possède un formulaire, chaque formulaire est constitué de questions, chaque questions proposent des réponses, ... Bonne conception |
|
|
|
00
|
|
|
#9 | |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Citation:
Comme le dit Mr N., cette phrase met tout par terre à elle seule :/ Si tu ne l'avais pas écrite, j'aurais été convaincu que tu aurais pu tout ajouter dans la table profil ou faire une table rien que pour ça (quoique j'aurais recommandé une seule table plutôt que 3). Avec cette phrase, cela complique grandement les choses et tu te retrouves finalement avec une problématique de questionnaire et une solution comme celle proposée ci-dessus. Tes membres auront réellement des questions différentes ? Si oui, tu dois comprendre que cela signifie un nombre de questions et un nombre de réponses tous deux variables, donc une gestion flexible devient nécessaire.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com