Un concours en PHP

Salut !
J’ai besoin d’avis et de conseils !
Pour mon site, j’aimerai faire un concours tous les mois !
Des membres s’inscrivent (ou qui sont déjà inscrit), répondent à 3 questions (QCM ou réponses libre, j’ai pas encore décidé), valident les reponses et c’est tout ! Apres je tire au sort le vainqueur
J’ai donc pensé a faire une

-table membres (id, nom, prenom, pseudo etc …)
-table concours (id, nom, …)
-table questions (id, questions, …)
-table réponses (id, propositions, reponses …)
Je pense aussi utiliser les sessions et peut etre les cookies.

Qu’en pensez vous ?

Peut-être une table résultat, histoire de savoir ce que le membre a voté :slight_smile:

(donc exit les sessions sauf pour se connecter)

Je ne pense pas que ton choix soit très judicieux,
-table membres (id_membre, nom, prenom, pseudo etc …)
-table concours(id_concour,id_membre, titre, …)
-table questions(id_question, reponse, proposition1, proposition2…)

La table reponse ne sert a rien sauf si tu juge qu’une question peut posséder plusieurs réponses.

Non. C’est très “stupide” de mettre tout dans la table questions. Et s’il doit ajouter une énième question, il va se farcir une énième colonne?

C’est juste du relationnel : les réponses sont associées aux questions, et on peut en avoir de deux à n.

Je ne pense pas que ton choix soit très judicieux,
-table membres (id_membre, nom, prenom, pseudo etc …)
-table concours(id_concour,id_membre, titre, …)
-table questions(id_question, reponse)
-table propositions(id_proposition, id_question, proposition)

Voilà, si tu veux avoir une multitudes de propositions possible

De ? D’un point de vue relationnel cela se gère très bien et cela évite d’avoir un schéma étriqué :slight_smile:

Du moins © avis perso.

mysql ne gère pas l’intégrité référentielle

C’est le format de table, Myisam qui est la cause de cela et pas la base de donnée. Il suffit d’utiliser le format INNODB qui lui offre support des transactions, des clés étrangères et les verrous dans les enregistrements.

Mais pour utiliser INNODB il faut utiliser “Mysqld-max” je pense car “Mysql-Opt” n’inclut pas ce support.

Je sais que mySQL5 le fait. Sinon, pgSQL…

Je me permets une intervention : ca serait bien l’une des rares fois que je vois sans_nom qui fait une proposition “pas très judicieuse” sur une question aussi simple :ane:

Si sa question était très judicieuse car j’ai proposé une structure d’une base de données sans me soucier de savoir son type, trop habitué à mysql :slight_smile:

Tu sais, même sans intégrité référentiel c’est meilleur^^ Et phpmyadmin permet de vérifier les trucs qui ne valident pas l’intégrité.