MCD - Gestion de votes
Fermé
M_Tufux
-
Modifié le 19 avril 2017 à 11:02
jordane45 Messages postés 38354 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 - 20 avril 2017 à 09:56
jordane45 Messages postés 38354 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 - 20 avril 2017 à 09:56
A voir également:
- MCD - Gestion de votes
- Logiciel gestion photo gratuit - Guide
- Logiciel gestion locative gratuit excel - Télécharger - Comptabilité & Facturation
- Logiciel gestion cave à vin gratuit excel - Télécharger - Cuisine & Gastronomie
- Gestion autorisation application android - Guide
- Logiciel gestion association gratuit excel - Télécharger - Gestion de projets
2 réponses
jordane45
Messages postés
38354
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 décembre 2024
4 719
Modifié le 19 avril 2017 à 18:17
Modifié le 19 avril 2017 à 18:17
Bonjour,
Personnellement ... je verrai plutôt ça comme ça :
Un sondage .. est composé de questions ....
Le fait d'avoir une table question à part te permettra de réutiliser les questions dans plusieurs sondages si besoin sans avoir à les recréer ...
Une question aura n réponses possibles.
Le "type_reponse" te permettra de définir si tu veux du choix unique ou du réponse "multiple" ou même "réponse libre".
La table "sondage_reponses" sera celle qui contiendra le résultat des "votes".
Avec cette structure tu peux aussi bien créer des votes ... que des questionnaires (QCM ou autres... )
PS: la table qui se trouve toute seule à droite de l'image.... n'est pas à prendre en compte .. c'est un loupé lors de mon copier/coller
Cordialement,
Jordane
Personnellement ... je verrai plutôt ça comme ça :
Un sondage .. est composé de questions ....
Le fait d'avoir une table question à part te permettra de réutiliser les questions dans plusieurs sondages si besoin sans avoir à les recréer ...
Une question aura n réponses possibles.
Le "type_reponse" te permettra de définir si tu veux du choix unique ou du réponse "multiple" ou même "réponse libre".
La table "sondage_reponses" sera celle qui contiendra le résultat des "votes".
Avec cette structure tu peux aussi bien créer des votes ... que des questionnaires (QCM ou autres... )
PS: la table qui se trouve toute seule à droite de l'image.... n'est pas à prendre en compte .. c'est un loupé lors de mon copier/coller
Cordialement,
Jordane
Nanashi17
Messages postés
193
Date d'inscription
mardi 28 mars 2017
Statut
Membre
Dernière intervention
19 juin 2017
99
19 avril 2017 à 11:19
19 avril 2017 à 11:19
Bonjour,
Je pense que c'est une bonne idée de mettre de procéder ainsi. Relier la table Sondage à la table Vote par une clé étrangère de cardinalité 1-n est ce qu'il y a de plus pratique et de plus simple.
Bon courage pour la suite !
Je pense que c'est une bonne idée de mettre de procéder ainsi. Relier la table Sondage à la table Vote par une clé étrangère de cardinalité 1-n est ce qu'il y a de plus pratique et de plus simple.
Bon courage pour la suite !
19 avril 2017 à 20:37
Je pense comprendre où tu veux en venir, mais ce n'est pas exactement ça dont , j'ai besoin.
Je vais essayer de mieux expliquer: Lorsque qqn crée un sondage, j'aimerais qu'il mette le titre, description et surtout qu'il écrive dans des inputs les choix possibles. (je peux pas insérer d'image...). Les choix peuvent, par exemple, être le nom des candidats pour une élection. Lorsque le formulaire est créé, l'admin du sondage est redirigé sur la page qui affiche en direct les résultats du sondage, ça s'actualise dès que qqn vote. Il peut voir qui a voté quoi.
Depuis cette page d'admin il a accès à un lien généré automatiquement (à voir comment je le génère), qui est envoyé aux votants. Ce lien redirige sur la page de votes qui affiche un petit formulaire avec le titre, la description et les noms des candidats avec une liste déroulante depuis laquelle ils vont pouvoir donner leur ordre de préférence entre les candidats.
Dès qu'ils valident le formulaire de vote, je pensais écrire leurs votes dans la table "vote". Les votes vont de 1 à 5 (5 = candidat parfait et 1 = candidat nul"). Dans la BD on verra dans la colonne "choix1" la valeur 5, dans "choix2" la valeur 2 par ex.
Cela n'est donc pas utile de pouvoir utiliser les mêmes critères plusieurs fois.
Est-ce que j'ai été plus clair et est-ce que l'idée de faire une table par vote est toujours/pas une bonne idée?
Dans tous les cas merci pour votre intérêt!
19 avril 2017 à 20:46
Non toujours pas !
Et ... la structure que je te propose fonctionne parfaitement pour ce que tu veux faire .... elle est juste plus flexible si jamais tu veux t'en servir pour autre chose .. (mais qui peut le plus.. peut le moins... )
Lorsqu'on manipule des BDD ... on ne doit pas avoir à changer la structure (ajouter une table) en cours d'utilisation....
On défini la structure une bonne fois pour toutes ... et ensuite on ne fait que "jouer" avec les relations entre les tables.....
N'oublie jamais ça !
19 avril 2017 à 22:06
table sondages:
id
titre
description
table choix:
id
id_sondage
nom
table votants:
id
nom
table votes:
id_choix
id_votant
vote (1 à 5)
Modifié le 19 avril 2017 à 23:19
Je ne sais pas si une table "votants" serait utile sachant que les personnes qui voterons sur les différents sondages n'ont rien à voir entre elles. Cela aurait été utile si j'avais voulu faire un système de login? A moins que tu ne pensais à autre chose?
Par contre, Jordane45, encore une fois merci pour ta réponse. J'ai pas encore eu le temps de bien relire ton MCD mais je le prendrai demain. Cependant je viens de trouver une idée:
Je fais la table "Sondage" qui contient les colonnes ID, Titre, Description, Choix1, Choix2, Choix3, Choix4, Choix5
Les choix peuvent être null ou = 0 s'ils ne contiennent rien (si on vote entre 2 options par ex)
Je fais la table "Vote" qui contient les colonnes ID, Nom, Choix1, Choix2, Choix3, Choix4, Choix5, Sondage_ID
les colonnes Choix de cette table vont contenir ce que le votant a voulu. Ex: Choix1 = 5; Choix2 = 1; Choix 3 = 2.
Les autres colonnes s'il y en a qui n'ont pas été utilisées vont contenir 0 ou null. Dans tous les cas, si le sondage ne comprend que 2 questions, les 3 restantes seront à 0 ou nulles dans les 2 tables.
Pour afficher les votes plus tard, je n'aurai qu'à ajouter un IS NOT NULL dans ma requête SQL et je ferai correspondre les 2 lignes provenant de Sondage et de Vote (les faire correspondre par l'ID tous les choix, vous suivez?)
Ce système me permettra 2 choses, utiliser 2 tables peu importe le nombre de sondages que les utilisateurs créent car même si les résultats sont mélangés dans la table Vote, si 50 votes ont été entrés pour le sondage no5, ils auront tous le même Sondage_ID dans la table Vote. Si dans un futur éventuel on aimerait augmenter le nombre de choix possible, au n'aura qu'à créer les colonnes Choix 6, Choix 7 etc dans les 2 tables avec comme valeur par défaut null ou 0.
Ce qui serait intéressant de faire c'est de pouvoir proposer 5 inputs pour les options par défaut (donc depuis la page de création de sondage), et si l'utilisateur le souhaite, lui laisser la possibilité d'en créer plus. En faisant ça , s'il souhaite entrer 50 candidats pour des votes, à moi de me débrouiller pour concaténer Choix avec 5, 6, 7 etc. que je créerai comme champs dans la BD, toujours avec la valeur par défaut null ou 0; j'en déciderai une des deux que j'appliquerai partout hein.
Je précise que je ferais ce que j'ai dit dans ce paragraphe tout à la fin, si j'ai du temps, mais l'idée est là.
J'ai un peu réfléchi en écrivant haha
Okok, vos avis?
19 avril 2017 à 23:53
... tu ne veux vraiment pas comprendre ......
NON ... on n'ajoute pas de nouvelles colonnes .......
Moins tu dois modifier la structure de tes tables mieux c'est !
C'est source d'erreurs .... et ce n'est pas "pratique" si, un jour, tu souhaites gérer les questions/réponses /sondages via une interface web.