Aide pour mise en place système note php/sql

Résolu/Fermé
Bobox87 - 6 sept. 2010 à 13:34
bobox87 Messages postés 32 Date d'inscription lundi 6 septembre 2010 Statut Membre Dernière intervention 25 juillet 2011 - 6 sept. 2010 à 16:50
Bonjour,

Voilà j'aurais besoin de conseils pour la mise en place d'un système de notation de produits (de 1 à 10). J'ai pensé créer une table votes avec les champs suivants:

(vote_id, vote_note, #vote_membre_id, vote_membre_nom, #vote_produit_id, vote_produit_nom, #vote_marque_id, vote_marque_nom)

Je rentre volontairement les nom des membre, produit, marque pour éviter la multiplication des requêtes dans les pages ou il y a des statistiques par utilisateur, produit, marque.

J'ai pas encore testé ce système, j'imagine que cela peut fonctionner, mais n'est-ce pas trop lourd? Imaginons que j'ai des milliers de membres et des milliers ou même des dizaines de milliers de votes, est ce que mon système est adéquat dans cette situation?

J'avoue ne pas savoir comment faire autrement ! Si quelqu'un veut bien me faire partager son expérience dans ce domaine, je lui en serais reconnaissant.

5 réponses

louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
6 sept. 2010 à 13:47
Je pense que la table "note" n'a rien à voir avec la table "membres"

voila ce que je ferai pour la table note:

n°_de_produit, Liste_des_n°_des_menbres_et_leur_note

Avec le 2 ème chps étant un type "memo" (longtext):

1453==4|1227==7|123==3

Le membre 1453 a mis 4/10, le membre 1227 a mis 7/10 pr ce produit...

Il s'agira ensuite de faire une fonction tout bete pour casser les séparations
explode("|"...)
puis explode ("=="...)
et voila la note moyenne..
1
En gros si j'ai compris j'ai ma liste de produits, et pour chaque produit l'id du membre avec sa note donnée au produit sous la forme (1453==4).
C'est pas bête car ça me réduit énormément le nombre de lignes dans la table (=au nombre de produit).

Juste quelques questions:

Y a t-il une limite en taille pour le champ "memo" ?
Et est-ce que le cumul des fonction explode puis le calcul de la moyenne ne sera pas trop lourd?
Et si je veux rajouter la marque du produit (pour des stats par marque) il me suffit juste de rajouter l'id de la marque dans un champ à coté de l'id produit par exemple ?
0
Pardon c'est encore moi, en fait je suis en train de réfléchir à ton idée et je me dis que la table note ne sert à rien en fait avec ce système. Je veux dire: autant directement créer un champ 'produit_note' de type memo dans la table produit et y insérer l'id du membre et sa note. En plus j'ai déjà l'id de la marque dans cette table.
0
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
6 sept. 2010 à 16:24
oui tout à fait, dans la table "produit", le mieux est de rajouter seulement un chp supplémentaire.

Pour ta question relative au "lourd" système de comptabilité des notes, ca peut l'être, mais j'aurai peut être vu dans ce cas, rajouter un second chp "valeur_note" et à chaque chgt du premier chp, la note est directement recalculée.
0

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

Posez votre question
bobox87 Messages postés 32 Date d'inscription lundi 6 septembre 2010 Statut Membre Dernière intervention 25 juillet 2011 1
6 sept. 2010 à 16:50
OK merci pour tous les conseils je vais tester tout ça et je verrais ce qu'il y a de mieux à retenir =)
0