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

PHP & Base de données Discussion :

Mauvais affichage avec ma requête en jointure (risque de doublon car je ne sais quel est le bon forum)


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    bloggeur
    Inscrit en
    Juillet 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : bloggeur

    Informations forums :
    Inscription : Juillet 2020
    Messages : 3
    Par défaut Mauvais affichage avec ma requête en jointure (risque de doublon car je ne sais quel est le bon forum)
    Bonjour chers tous,
    je suis entrain de faire un système d'affiliation et je rencontre un problème sur les données renvoyées.
    Je vous montre mes deux tables

    Structure tables membre
    id, pseudo, parrain, nom, phone, habitation, mdp
    Structure tables parrainage
    id, user_parrain, filleul, cree_le
    Voici maintenant ma requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     $reponse = $db->query("SELECT users.parrain, parrainage.filleul FROM users, parrainage WHERE users.parrain = parrainage.user_parrain LIMIT 0, 2");
                              echo 'vos fils. <br />';
                              while ($donnees = $reponse->fetch())
                              {
                                 echo $donnees['filleul'] . '<br />';
                              }
                                    $reponse->closeCursor();
    Cette requête me renvoi les deux premiers enregistrés dans la table parrainage.
    Je voudrais récupérer uniquement que les fils de la personne connectée.
    Merci de m'aider à corriger ma requête.

    NB: Je récupère les données depuis un formulaire raison pour laquelle je n'ai pas fait la jointure avec "ID"

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Structure tables membre
    id, pseudo, parrain, nom, phone, habitation, mdp

    Structure tables parrainage
    id, user_parrain, filleul, cree_le
    Récupérer les filleuls du membre/parrain $id :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ALL membre.id, membre.pseudo
    FROM parrainage INNER JOIN membre ON parrainage.filleul = membre.id
    WHERE parrainage.user_parrain = $id

    Ceci dit je ne comprends pas bien l'intérêt de la table parrainage. Je suppose qu'on ne peut avoir qu'1 seul parrain, donc tu pourrais mettre les infos du parrainage directement dans la table membre.

    NB: Je récupère les données depuis un formulaire raison pour laquelle je n'ai pas fait la jointure avec "ID"
    Pas compris.

  3. #3
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    NB: Je récupère les données depuis un formulaire raison pour laquelle je n'ai pas fait la jointure avec "ID"
    Si j'ai compris, suis pas sûre, c'est que tu n'es pas au courant qu'en HTML dans un formulaire, il faut faire ça : (passer l'id en valeur, et un truc compréhensible pour l'affichage).

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <select name="parrain" id="parrain">
      <option value=""> Mais qui est votre parrain ? </option>
      <option value="500"> Tonton Marcel </option>
      <option value="1254"> Papy Mougeot </option>
      <option value="78"> Le pape</option>
    </select>

    Pour une table ou 2 tables, ça dépend si tes users peuvent être parrains et filleuls ou non.
    Si c'est le cas (probable), tape "auto-jointure sql" dans Google.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  4. #4
    Futur Membre du Club
    Homme Profil pro
    bloggeur
    Inscrit en
    Juillet 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : bloggeur

    Informations forums :
    Inscription : Juillet 2020
    Messages : 3
    Par défaut
    Citation Envoyé par Séb. Voir le message
    Bonjour Séb,
    merci pour ta réponse, je n'y avais pas pensé sur cet angle. Je voyais plus le coté filleul comme on peut en avoir plusieurs.
    Je vais voir ta solution et te revenir mais je crois que cela devrais passer.
    Encore merci

    Citation Envoyé par Dendrite Voir le message
    Bonjour Dendride,
    en fait je parlais du champ "ID" PRIMARY KEY AUTO INCREMENT de toute table dans une bdd.
    Excuse moi pour avoir causé cette confusion dans ton esprit.
    Je vais faire un tour pour en apprendre plus sur les jointures.
    Merci

Discussions similaires

  1. Mauvais affichage avec ma requête en jointure
    Par zahui2020 dans le forum Requêtes
    Réponses: 1
    Dernier message: 27/07/2020, 14h37
  2. Réponses: 2
    Dernier message: 10/01/2012, 15h16
  3. Problème d'affichage avec ma requête
    Par kensem dans le forum C#
    Réponses: 3
    Dernier message: 20/01/2011, 16h22
  4. Mauvais affichage avec les caractères accentués
    Par friedamichelle dans le forum JSF
    Réponses: 1
    Dernier message: 23/12/2010, 16h40
  5. Réponses: 3
    Dernier message: 25/05/2009, 17h11

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