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

Fermé
elementjeje Messages postés 403 Date d'inscription lundi 8 octobre 2007 Statut Membre Dernière intervention 6 juin 2015 - 21 avril 2011 à 12:36
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 - 21 avril 2011 à 19:06
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!

A voir également:

2 réponses

avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
21 avril 2011 à 13:22
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 403 Date d'inscription lundi 8 octobre 2007 Statut Membre Dernière intervention 6 juin 2015 40
21 avril 2011 à 13:26
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 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
21 avril 2011 à 19:06
Donc chaque heure, le membre débloque un point ?
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
21 avril 2011 à 13:07
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 403 Date d'inscription lundi 8 octobre 2007 Statut Membre Dernière intervention 6 juin 2015 40
21 avril 2011 à 13:09
Un vote par heure et par élément, oui j'avais oublié de préciser ça...
0