La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  Mise à jours des points de parrainage un peu compliquée
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Mise à jours des points de parrainage un peu compliquée  (Lu 812 fois)
Mise à jours des points de parrainage un peu compliquée
« sur: le 15-10-2006 a 20:16:08 »
piere33
Membre récent
*

Hors-Ligne

Messages: 4



Je suis un lama!

Voir le Profil
Répondre avec citation

Bonjour
Je bloque depuis 2 jours sur un simple probleme d'Update
Ma table comporte entre autre les champs suivants:

  • id : l'utilisateur
  • pseudo : son pseudo
  • points_total : total de ses points (Jeux + gain_parrain)
  • id_parrain : L'id de son parrain
  • don_parrain : Les points donnés à son parrain (10% de points_total)
  • gain_parrain : Les points gagnés grace à ses filleuls

    Je ne peut pas mettre à jours les points destiné au parrain au moment où il sont gagnés par leurs filleuls (systeme de point un peu particulier, les jeux se deroulent sur differents salons IRC),
    je doit donc faire la mise à jour à chaque ouvertures de pages utilisant les données.
    Jusque ici je m'en sort, les mises à jours se font toutes sans probleme pour chaque type de points, de salons ou de jeux.

    J'arrive à mettre à jour les gain_ parrain de celui qui ouvre la page comme ceci:

    Code:
    //recupere id utilisateur
      $select = "SELECT id FROM membre WHERE email='$email'";
      $result = mysql_query($select,$db) or die ('Erreur : '.mysql_error() );
      $id = mysql_fetch_array($result);
      mysql_free_result($result); 

    //mise à jours de tous les points parrains et points de jeux
      mysql_query("UPDATE membre SET don_parrain=points_total*10/100");
      mysql_query("UPDATE membre SET newgeneral=newprincipal+newepargne+newvalitem"); 
      mysql_query("UPDATE membre SET quizzgeneral=quizznewpoint+quizzaffi1point");

    //recupere les gains parrain utilisateur
      $sql = 'SELECT SUM(don_parrain) as totalpoint FROM membre WHERE id_parrain='.$id['id'];
      $somme = mysql_query($sql,$db) or die ('Erreur : '.mysql_error() );
      $totalpoint = mysql_fetch_assoc($somme);

    //mise à jour gains parrain
      $requete = 'UPDATE membre SET gain_parrain='.$totalpoint['totalpoint'].' WHERE id='.$id['id'];
      mysql_query ($requete,$db) or die ('erreur : '.mysql_error() );

    //mise à jour total des points
      mysql_query("UPDATE membre SET points_total=newgeneral+quizzgeneral+gain_parrain");


    Mais les resultats sont faussé puisqu'il ne prennent pas en compte les gain_parrain des autres utilisateurs, seulement de celui qui est sur la page

    Ma requete:

    Mettre à jour la somme des 'don_parrain' des filleuls dans le champs 'gain_parrain' du parrain lorsque l'id du filleul correspond à l'id_parrain

    je ne connais mysql que depuis quelques temps et je doit surement buter sur un probleme de syntax, j'ai toujours réussi à m'en sortir jusqu'à maintenant en regardant les aides, les faq, les forums, mais là je seche complet (pour un truc tout bete si ca se trouve).
    merci d'avance à ceux/celles qui pourraient m'aider.

  • « Dernière Édition: le 20-10-2006 a 03:19:53 par piere33 » Rapporter au modérateur  

    Re:Mise à jours des points de parrainage un peu compliquée
    « Répondre #1 sur: le 15-10-2006 a 20:20:44 »
    piere33
    Membre récent
    *

    Hors-Ligne

    Messages: 4



    Je suis un lama!

    Voir le Profil
    Répondre avec citation

    PS :

    php5 + MySQL - 4.1.11-Debian_4sarge5-log + hebergement : jexiste

    Dsl..

    Rapporter au modérateur  
    Re:Mise à jours des points de parrainage un peu compliquée
    « Répondre #2 sur: le 17-10-2006 a 01:43:25 »
    gauriz
    Membre récent
    *

    Hors-Ligne

    Messages: 12



    Je suis un lama!

    Voir le Profil
    Répondre avec citation

    Salut Pierre,

    je ne suis pas sur d'avoir tout compris ...

    Mais je te dit comment nous on procède sur le site www.star-blog.com qui gere du parrainage et des points :

    1 blog a 0 ou 1 filleuls
    A chaque visite d'un blog, on calcul ses points en comptant :
    - le nombre de visites, votes, ...
    - on recherche les filleuls de ce blog qui sont valides
    (blog avec idblog en cours, en id_parrain clef etrangère)

    Cela permet de répartir le calcul des points de manière répartie plutot que sur une page qui ferait TOUT en 1 fois la nuit en batch ...

    Voilà,
    n'hésitez pas à me donner plus de précision si j'ai mal compris !

    Cordialement,

    Grégory
    art-touch.com

    Rapporter au modérateur  
    Re:Mise à jours des points de parrainage un peu compliquée
    « Répondre #3 sur: le 17-10-2006 a 02:09:03 »
    piere33
    Membre récent
    *

    Hors-Ligne

    Messages: 4



    Je suis un lama!

    Voir le Profil
    Répondre avec citation

    bonsoir Gauriz

    Pour la mise à jour des points, elle se fait sans probleme lorsque l'utilisateur viens voir sa page de gain et justement ca permet comme chez toi de mettre a jour au fur et a mesure et non d'un coup la nuit
    Ce code marche impec:

    Code:
    //recupere les gains parrain utilisateur
      $sql = 'SELECT SUM(don_parrain) as totalpoint FROM membre WHERE id_parrain='.$id['id'];
      $somme = mysql_query($sql,$db) or die ('Erreur : '.mysql_error() );
      $totalpoint = mysql_fetch_assoc($somme);
    //mise à jour gains parrain
      $requete = 'UPDATE membre SET gain_parrain='.$totalpoint['totalpoint'].' WHERE id='.$id['id'];
      mysql_query ($requete,$db) or die ('erreur : '.mysql_error() );


    Le probleme c'est quand l'utilisateur ouvre la page du classement des joueurs il actualise ses points de parrainage mais pas l'ensemble des joueurs et donc cela fausse le résultat du classement. D'autant si les filleuls de l'utilisateur parrainent à leur tour
    Imagine que tu veuille faire un classement de tes blogs par nombre de filleul, comment procederais tu pour mettre a jour les points de tout les blogs d'un coup
    C'est là qu'est mon probleme...


    PS: Merci en tous cas de ta réponse à cette heure Tardive ;-)

    Rapporter au modérateur  
    Re:Mise à jours des points de parrainage un peu compliquée
    « Répondre #4 sur: le 20-10-2006 a 03:18:13 »
    piere33
    Membre récent
    *

    Hors-Ligne

    Messages: 4



    Je suis un lama!

    Voir le Profil
    Répondre avec citation

    Svp quelqu'un aurais t'il une idée pour me mettre sur la voie
    J'ai beau chercher je ne trouve toujours pas comment faire

    Rapporter au modérateur  
    Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
    Pages: [1] Monter
    « Précédent Suivant »
    Sauter à: 

    Votre statut : Invité
    Vous devez être membre pour participer.
     
     
    Let’s Encrypt : le certificat SSL gratuit
    Tester votre site internet sur différents navigateurs
    [WordPress] Des problèmes avec l’administration ?
    Rappel : Mettez à jour vos CMS et vos sites E-commerce
    Le .fr fête ses 25 années d’existence !
    Mesurer votre audience en temps réel avec BubbleStat
    Porter réclamation contre Google Panda ?
    Zlio n’est plus …
     
     
     
     
     

    Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

    creation site internet strasbourg