Bonjour,
J'ai un petit souci pour mettre en place un système de parrainage. Pour résumer, j'ai une table comptes contenant les champs id, nom, solde, gains, parrain.
Les utilisateurs qui s'enregistrent ont la possibilité de donner un e-mail de parrain et ont des avantages. Chaque parrain reçoit 10% des gains de ces filleuls grâce à un calcul fait journalièrement.
Actuellement, à l’aide à un script php, je récupère la liste des membre dans l'ordre décroissant, puis pour chacun d’eux je fais:
(avec $id contenant l'id du membre en court de traitement.)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 UPDATE compte SET gains = gains + (SELECT SUM(gains) FROM compte WHERE parrain=id) WHERE id=$id; UPDATE compte SET argent = argent + gains, gains = 0 FROM compte;
Mon problème est que ceci est hyper long... L'idéal serait de faire un truc dans le genre:
Mon problème est donc le ORDER BY id DESC qui est impossible avec un update... seulement si je l'utilise pas, rien ne m'assure que je toucherai les 1% de mon petit filleul...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 UPDATE compte SET gains = gains + (SELECT SUM(gains) FROM compte WHERE parrain=id) ORDER BY id DESC; UPDATE compte SET argent = argent + gains, gains = 0 FROM compte;
Connaissez-vous une solution? Merci d'avance pour toute réponse!
++
Partager