Partage
  • Partager sur Facebook
  • Partager sur Twitter

[MySQL] Liens multiple entre tables

lier une ligne d'une table à plusieurs d'une autre

Sujet résolu
    19 septembre 2011 à 14:28:28

    Bonjour à tous,
    Je suis un peu nouveau dans le domaine du PHP et j'apprends beaucoup grâce aux tutoriaux et forums.
    J'ai un problème pour lequel j'ai n'ai pas trouvé d'info.

    Je possède deux tables :
    - Personnes
    - Jeux vidéos

    Vous l'aurez compris, un jeu vidéo a des propriétaires, jusque la j'arrive à faire la jointure. Par contre, je souhaiterais pouvoir attribuer plusieurs propriétaires à un jeu vidéo, soit stocker et traiter plusieurs ID_personnes dans un champ de la table Jeux vidéo.

    Sauriez-vous m'aider ?

    Merci !
    • Partager sur Facebook
    • Partager sur Twitter
      19 septembre 2011 à 14:35:25

      Ajoute une table possesseurs avec 2 colonnes : id_jeu, id_personne. Si 3 personnes possedent le jeux machin et deux personnes le jeux truc, tu auras 5 lignes dans la table.
      • Partager sur Facebook
      • Partager sur Twitter
        19 septembre 2011 à 17:36:22

        Merci pour ton retour.
        En fait, j'ai omis de préciser que pour mon jeu, j'allais également enregistrer des acheteurs, qui pourront également être plusieurs.
        Me conseilles-tu d'avoir :
        - une seule table de 3 colonnes : id_jeu, id_possesseur, id_acheteur pour rassembler les propriétaires (possesseurs) et les acheteurs
        - deux tables, une possesseurs comme tu me le suggères + une "acheteurs" avec deux colonnes id_jeu et id_acheteur

        Autre question, pour appeler les données d'un jeu appartenant à un propriétaire (possesseur) connu grâce aux cookie, je dois faire :
        $sql1 = "SELECT id_jeu FROM possesseurs WHERE id_personne='" . $_COOKIE["ID_users"] . "'  
        $req1 = mysql_query($sql) or die('Erreur SQL 1!<br />'.$sql.'<br />'.mysql_error());
        $sql2 = "SELECT * FROM jeux WHERE id_jeux='" . $data['type_property'] . "'
        $req2 = mysql_query($sql) or die('Erreur SQL 2!<br />'.$sql.'<br />'.mysql_error());
        echo 'Type : '.$data['jeux_nom'].'<br />';
        


        Merci beaucoup !
        • Partager sur Facebook
        • Partager sur Twitter
          19 septembre 2011 à 17:38:23

          1/ Ca dépend, si tu veux lier l'acheteur et le possesseur, une table. Sinon, 2

          2/ Non non, faut faire ça en une seule requête avec une jolie petite jointure. Je te laisse te renseigner (par exmeple, tuto dans ma signature)
          • Partager sur Facebook
          • Partager sur Twitter

          [MySQL] Liens multiple entre tables

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown