Calcules et transactions

Fermé
Stelino - 18 oct. 2015 à 21:18
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 19 oct. 2015 à 14:12
Bonjour,

Le contexte:

Imaginez plusieurs comptes utilisateur ayant chacun leurs propre somme de points.
//Ces sommes serais représenter dans un espace sur leurs compte//

EX:

- user1 à 500 points
- user2 à 1000 points
- user3 à 250 points
- ect
//500 comptes user en tout.//

Question:

Comment sur un compte au choix //n'importe lequel//
pourrait on déclencher par input
la soustraction d'une partie de ça propre somme de points
puis la divisé par 500
pour la répartir sur les 500 comptes existants.

EX:

Si user110 presse input
Alors soustraire 1000 points de ça somme
Au même moment diviser ces même 1000 points par 500

Et répartir chaque résultats sur chacun des comptes existants.

Quelqu'un pourrait m'illuminé ?

1 réponse

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
19 oct. 2015 à 14:12
Salut,

Le fonctionnement décrit est clair, mais où se situe ton blocage ?

Les différentes étapes de conception pourrait se prévoir comme ceci :

1. Lorsque l'utilisateur clique sur le bouton, on récupère son identifiant la via session php par exemple (l'utilisateur doit être connecté).

2. A partir de cet identifiant, on met à jour le nombre de points via une requête sql du genre :
UPDATE users SET nb_points = nb_points - 1000 WHERE id_user = parametre_id_user

3. On effectue une seconde requête pour récupérer le nombre total d'utilisateur moins un, par exemple :
SELECT COUNT(*) - 1 AS total_utilisateurs FROM users

4. On effectue la division du nombre de points soustrait à l'utilisateur ayant cliqué sur le bouton par le nombre total d'utilisateurs, puis on ajoute ce résultat aux nombre de points des autres utilisateurs :
UPDATE users SET nb_points = nb_points + resultat_division WHERE id_user <> parametre_id_user

Bonne journée
1