Ajouter ''points'' dans BDD en cliquant sur l

elementjeje Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   -  
avion-f16 Messages postés 19253 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je maîtrise un peu le PHP mais pas assez pour ce que j'aimerais faire.
Je m'explique:

- On clique sur le lien
- Ca contrôle si ça fait moins d'une heure qu'on a cliqué dessus
- Si ça fait moins d'une heure on ajoute des ''points'' dans la base de données. (table membres, colonne points)

Il faudrait interdire de voter entre une heure avec les comptes et non avec l'adresse IP

Merci de votre aide!

2 réponses

avion-f16 Messages postés 19253 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Alors il faut gérer les votes dans une table à part, pas en ajoutant une colonne "points" à la table des éléments.

La structure est assez simple :
- element_id : L'id de l'élément associé à la note
- membre_id : L'id du membre ayant voté
- note : La note
- date : La date du vote (timestamp ou "YYYY-MM-DD HH:MM:SS")

Tu peux obtenir la note d'un élément grâce à cette requête :
SELECT AVG(note) AS moyenne FROM table WHERE elemet_id=x


Pour savoir si le membre y a déjà voté pour un élément x il y a moyen d'une heure (si tu utilises le timestamp) :
$sql = 'SELECT COUNT(*) AS nb FROM table WHERE element_id='.$x.' AND member_id='.$y.' AND date > '.(time() - 3600)
2
elementjeje Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   40
 
Merci beaucoup! Je vais expliquer plus précisément ce que je veux faire:
Je dois ajouter mes ''points'' dans une table déjà créée, ce n'est pas la note de quelque chose. Ces points serviront au membre d'acheter virtuellement un objet.
J'espère que vous comprendrez...
0
avion-f16 Messages postés 19253 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Donc chaque heure, le membre débloque un point ?
0
avion-f16 Messages postés 19253 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Salut,

Tu veux limiter "un vote par heure" ou "un vote par heure et par élément" ?
La différence avec le 2ème choix, c'est que si tu as par exemple 10 éléments (news ou autre), on peut en 1 heure voter pour tous ces éléments, mais il faudra attendre une heure pour revoter pour ces éléments.
0
elementjeje Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   40
 
Un vote par heure et par élément, oui j'avais oublié de préciser ça...
0