Jump to content
Sign in to follow this  
Micul`wji

Script acordare puncte pentru diferite task-uri?

Recommended Posts

Buna tuturor am si eu o mica problema daca ma puteti ajuta.

Am un website pe acest website vizitatori se pot inregistra / conecta  totul facut de la 0 acum am nevoie de ajutorul vostru doresc sa realizez un script prin care sa fac un sistem de puncte adica utilizatorul x trebuie sa faca un task ( exemplu sa acceseze un link) si sa primeasca 1 punct si tot asa am cautat si nu prea am avut rezultate daca ma poate ajuta cineva cu cateva informati sau un cod sura ceva. Multumesc anticipat

Share this post


Link to post
Share on other sites

scuze greseala mea  am scris mesajul  in graba....

Deci sa incepem detin un website prin care ofer utilizatorilor (inregistrati la mine pe site) Steam CD-KEY, Skinuri CS-GO etc. si doresc sa fac un sistem de puncte adica utilizatorul X (care este inregistrat pe site) sa faca anumite taskuri spre exemplu sa acceseze un anumit link si prin accesarea acelui link sa primeasca un anumit numar de puncte, mai exact un magazin online cu puncte doar ca punctele sa le primeasca fiecare facand clickuri pe anumite linkuri. un exemplu mai concret spre sa nu fie reclama (addmefast) dai like pe facebook si primesti anumite puncte si cu acele puncte poti primi si tu like-uri

Share this post


Link to post
Share on other sites

Hmm, poţi crea în baza de date un set de task-uri :

8mq06ue.png

Gen să zicem că vrei să adaugi task-urile cu ID 1, 2, 3 şi punctajele corespunzătoare 10, 20, 50

Tabela taskuri va fi ceva de genul:

id_task | punctaj
--------+--------
      1 | 10
      2 | 20
      3 | 50

Dacă membrul cu id-ul 132 va efectua sarcinile de la task-ul 1 de exemplu, se va adăuga o nouă înregistrare în tabela MembriTaskuri: perechea (132, 1) pentru câmpurile (id_membru, id_task). Deoarece perechea de chei anterioară e cheie primară, nu sunt permise dublurile (nu pot apărea duplicate: fiecare membru poate executa fiecare task o singură dată).

Ca sa vezi evidenta cu punctajele membrilor:

SELECT Membri.id_membru, SUM(Taskuri.punctaj) AS 'Punctaj'
FROM Membri 
	INNER JOIN MembriTaskuri ON MembriTaskuri.id_membru = Membri.id_membru
	INNER JOIN Taskuri ON MembriTaskuri.id_task = Taskuri.id_task
GROUP BY Membri.id_membru

sau al unui membru oarecare:

SELECT SUM(Taskuri.punctaj) AS 'Punctaj'
FROM Taskuri INNER JOIN MembriTaskuri ON MembriTaskuri.id_task = Taskuri.id_task
WHERE MembriTaskuri.id_membru = @id_membru

(L-am rulat in microsoft sql server. N-am mai lucrat cu mysql de ceva vreme.)


Pentru simplitate în calcularea punctajului l-ai putea adăuga ca şi câmp în tabela membri (iniţial 0, aduni valorile corespunzătoare, verificând înainte datele din tabela MembriTaskuri).

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×