IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

besoin d'aide pour un systeme de parrainage


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Points : 2
    Points
    2
    Par défaut besoin d'aide pour un systeme de parrainage
    Bonjour,

    Je vous explique ,

    Je réalise une base de gestion des parrains.

    je veux quand j'interroge la fiche d'un client que celle ci me renvoi dans un premier temps les filleuls du client sélectionné pour cela je me suis servi d'un ID par personne auto incrémenté et jusque la sa fonctionne.

    mais dans un second temps je veux afficher les personnes attaché aux filleules de du client sélectionné. et la j'ai un problème car sa me renvoi juste les personne d'un seul des filleules je pense qu'il faut ajouter une boucle sur la dernière partie du code mais je n'y arrive pas.

    Pour chaque client j'enregistre le CA réalisé et donc je veux un récapitulatif

    ex:

    TEST 1 a réalisé 150€ soit 15 points et a 2 filleules:

    filleules de TEST 1 :

    TEST 2 a réalisé 30€ et a 2 filleules ( TEST 4 et TEST 5 )
    TEST 3 a réalisé 50€ et a 2 filleules ( TEST 6 et TEST 7 )

    Total CA filleules de TEST 1 = 80€ soit 0.8 points

    sous filleules:

    TEST 4 a réalisé 30€
    TEST 5 a réalisé 20€
    TEST 6 a réalisé 50€
    TEST 7 a réalisé 150€

    Total CA sous filleules de TEST 1 = 250€ soit 0.25 points
    Total CA réalisé grâce a TEST 1 = 480€ soit 16.05 points

    Je ne sais pas non plus comment auditionner les CA de tout le monde.

    Merci de votre aide
    mimi007

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    <?php
    $idc= $_POST['pn'];
    ?>
    <?php try
    {
       // On se connecte à MySQL
       $bdd = new PDO('mysql:host=localhost;dbname=difuti', 'root', '');
    }
    catch(Exception $e)
    {
       // En cas d'erreur, on affiche un message et on arrête tout
            die('Erreur : '.$e->getMessage());
    }
    ?>
     
     
    <p>Infos du client</p>
     
     
    <?php
    $req = $bdd->prepare('SELECT * FROM parrainage WHERE id = ?');
    $req->execute(array($idc));
     
     
    if (! $req) { echo "Erreur requete"; exit;} 
    while ($donnees = $req->fetch())
    {
    ?>
    <?php echo ''.$donnees['nm'].''; ?> <br> <?php echo '' .$donnees['pm'].''; ?><br><?php echo ' né le: '; echo date('d/m/Y', $donnees['dn']); ?> <br><?PHP echo ' CA ';  echo '' .$donnees['ca'].'';echo ' euros'; ?> </option>
     
    <?php
    }
    ?><br><br>Listes des parrainés: <br><br>
    <?php
    $req = $bdd->prepare('SELECT * FROM parrainage WHERE pn = ?');
    $req->execute(array($idc));
     
     
    if (! $req) { echo "Erreur requete"; exit;} 
    while ($donnees = $req->fetch())
    {
    ?>
    <?php echo ''.$donnees['nm'].''; ?> <?php echo ' '?> <?php echo '' .$donnees['pm'].''; ?><?php echo ' né le: '; echo date('d/m/Y', $donnees['dn']); ?> <?PHP echo ' CA ';  echo '' .$donnees['ca'].'';echo ' euros'; ?> <br><br>
    <?php $sid= $donnees['id']; ?>
    <?php
    }
    ?>
    <br><br>Listes des sous parrainés: <br><br>
    <?php
    $req = $bdd->prepare('SELECT * FROM parrainage WHERE pn = ?');
    $req->execute(array($sid));
     
     
    if (! $req) { echo "Erreur requete"; exit;} 
    while ($donnees = $req->fetch())
    {
    ?>
    <?php echo ''.$donnees['nm'].''; ?> <?php echo ' '?> <?php echo '' .$donnees['pm'].''; ?><?php echo ' né le: '; echo date('d/m/Y', $donnees['dn']); ?> <?PHP echo ' CA ';  echo '' .$donnees['ca'].'';echo ' euros'; ?> <br><br>
     
    <?php
    }
    ?>
    <a href="selinfoclient.php"> <br> Retour au choix du client</a>

  2. #2
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Bonjour,

    et en faisant une requete telle que la suivante ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $req = $bdd->prepare('SELECT * FROM parrainage WHERE id = ? OR pn IN(?, ?)');
    $req->execute(array($idc, $idc, $sid));

  3. #3
    Candidat au Club
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Je viens de tester et la sa me renvoi dans sous filleul les infos du parain qui est noemalement dans la premiere partie, les filleules qui sont traité dans la seconde partie, et seulement les filleules du dernié parrainé. ex de ce que sa me renvoi:

    TEST1
    info de test 1

    filleules

    TEST2
    TEST3

    sous filleules

    TEST1
    TEST2
    TEST3
    TEST5

    alors que je voudrais que ça fasse:

    TEST1
    infos de TEST1

    filleules:

    TEST2
    TEST3

    sous filleules

    TEST4
    TEST5

    Je ne sais pas si je m'exprime tres bien .

    La modification que tu m'a proposé en fait renvoi les meme réponse que ce que j'avais fait plus les réponse des niveau superieur

    mais je n'ai toujour pas TEST4 qui est le filleul de TEST2 dans la liste

  4. #4
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    on peut avoir la description de table?

    je pense que tu as un champs indiquant le numéro du parrain non?

    ce qui ferait que tu doit passer par 3 boucle de lecture imbriqué en te servant de l'id et du numéro de parrain.

  5. #5
    Candidat au Club
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    J'ai trouvé pour le premier problème mais il me reste la difficulté pour additionner les CA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    <?php
    $idc= $_POST['pn'];
     ?>
     <?php try
    {
    	// On se connecte à MySQL
    	$bdd = new PDO('mysql:host=localhost;dbname=difuti', 'root', '');
    }
    catch(Exception $e)
    {
    	// En cas d'erreur, on affiche un message et on arrête tout
            die('Erreur : '.$e->getMessage());
    }
    ?>
     
     
    <p>Infos du client</p>
     
     
    <p>
      <?php
    $req = $bdd->prepare('SELECT * FROM parrainage WHERE id = ?');
    $req->execute(array($idc));
     
     
    if (! $req) { echo "Erreur requete"; exit;} 
    while ($donnees = $req->fetch())
    {
     ?>
      <?php echo ''.$donnees['nm'].''; ?> <br> <?php echo '' .$donnees['pm'].''; ?><br><?php echo ' né le: '; echo date('d/m/Y', $donnees['dn']); ?> <br><?PHP echo ' CA ';  echo '' .$donnees['ca'].'';echo ' euros'; ?> </option>
      <?php $rcl= $donnees['ca'] / 10; ?><?php echo ' <br> Points cumulé par: '; ?><?php echo ''.$donnees['nm'].''; ?> <?php echo ' '; ?> <?php echo '' .$donnees['pm'].'';?><br> <?php echo $rcl ; ?>
      <?php
    }
    ?>
    <br><br>Listes des parrainés: <br><br>
      <?php
    $req = $bdd->prepare('SELECT * FROM parrainage WHERE pn = ?');
    $req->execute(array($idc));
     
     
    if (! $req) { echo "Erreur requete"; exit;} 
    while ($donnees = $req->fetch())
    {
     ?>
      <?php echo ''.$donnees['nm'].''; ?> <?php echo ' '?> <?php echo '' .$donnees['pm'].''; ?><?php echo ' né le: '; echo date('d/m/Y', $donnees['dn']); ?> <?PHP echo ' CA ';  echo '' .$donnees['ca'].'';echo ' euros'; ?> <br><br>
      <?php $sid= $donnees['id']; ?>
      <?php
    }
    ?>
     
      <br><br>Listes des sous parrainés: <br><br>
     
     
      <?php
     
    $req = $bdd->prepare('SELECT * FROM parrainage WHERE pn IN (SELECT id FROM parrainage WHERE pn = ?)' );
    $req->execute(array($idc));
     
     
    if (! $req) { echo "Erreur requete"; exit;} 
    while ($donnees = $req->fetch())
    {
     ?>
      <?php echo ''.$donnees['nm'].''; ?> <?php echo ' '?> <?php echo '' .$donnees['pm'].''; ?><?php echo ' né le: '; echo date('d/m/Y', $donnees['dn']); ?> <?PHP echo ' CA ';  echo '' .$donnees['ca'].'';echo ' euros'; ?> <br><br>
     
      <?php
    }
    ?>

  6. #6
    Membre émérite Avatar de SirDarken
    Profil pro
    Développeur Web
    Inscrit en
    Février 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2004
    Messages : 897
    Points : 2 276
    Points
    2 276
    Par défaut
    Hum j'ai lu en diagoniale, mais pourquoi tu ne crée par un variable $ca_total = 0; au début que tu incrémente à chaque fois ?
    (tu l'incrémente sur les deux boucles de filleuls)
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $ca_total=0;
    Pour le parrain:
    $ca = ton_ca
    $ca_total = ton_ca
    Boucle filleul niveau 1{
      $ca_filleul = ca_filleul
      $ca_total += ca_filleul
      Boucle filleul niveau 2{
        $ca_sfilleul = ca_sfilleul
        $ca_total += ca_sfilleul
      }
    }
    $ca_total  vaut le ca du parrain + tous ceux des filleuls + tous ceux des sous-filleuls
    C'est ca que tu désire ?

  7. #7
    Candidat au Club
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    ce n'ai pas tout a fais sa que je veux car je veux séparer les résultat mais tu m'a donnée une petite idée pour le comment faire je ne connaissais le ptit plus devant le =

    donc je vais essayer ton truc un peux différemment et je te tiens au courant merci bcp

  8. #8
    Candidat au Club
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    c'est bon tout fonctionne merci beaucoup a vous tous

  9. #9
    Membre émérite Avatar de SirDarken
    Profil pro
    Développeur Web
    Inscrit en
    Février 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2004
    Messages : 897
    Points : 2 276
    Points
    2 276
    Par défaut
    Parfait alors, pense à mettre le tag résolu ^^.

    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Besoin d'aide pour un system de mise a jour SVP
    Par mkresurrect dans le forum Débuter
    Réponses: 1
    Dernier message: 26/02/2013, 09h20
  2. besoin d'aide pour le composant DBComboBox
    Par jane2002 dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/02/2004, 19h01
  3. [Kylix] besoin d'aide pour installer kylix3
    Par Sph@x dans le forum EDI
    Réponses: 3
    Dernier message: 11/02/2004, 13h53
  4. [TP]besoin d'aide pour commandes inconnues
    Par Upal dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 03/10/2002, 10h48
  5. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo