Jointure php mysql

Bonjour,
Je suis en train de faire un site d'échange où chaque client crée sa fiche dans une table "bien"

Chaque fiche client a un id unique

Le client sélectionne les fiches des autres clients qui l'interesse
cela incrémente une table "selection" qui contient
le champs "client" qui contient l'id du client
et le champ "produit" qui contient l'id du bien sélectionné

la requête devrait me sortir la liste des biens sélectionnés , mais en utilisant le code suivant

$sql="SELECT * FROM 'bien'INNER JOIN 'selection' ON 'bien'.'id' = 'selection'.'client' WHERE 'selection'.'client' = '".$_SESSION['id']."'" ;

cela me sort la fiche du client qui fait la requete et non les fiches qu'il a sélectionné.

Je ne comprends pas mon erreur
merci de votre aide

4 réponses

  1. merci pour ton aide, mais peux tu m'en dire plus, je n'y arrive toujours pas
    1. j'ai trouvé
      $sql="SELECT * FROM bien WHERE id=(SELECT produit FROM selection WHERE 'client' = '".$_SESSION['id']."')" ;

      merci tout de même à ZEP
      1. Bonjour,

        En fait, ta requête de début aurait pu marcher, mais ta condition ON du INNER JOIN ne faisait pas correspondre les bons champs :)

        Xavier
    2. bjr
      peux tu m'en dire plus svp Reivax962
      quelle est la bonne syntaxe
      merci
      1. En fait, dans ta requête qui marche, tu fais correspondre :
        bien.id avec selection.produit
        et
        selection.client avec $_SESSION['id'].

        Alors que dans ta requête qui ne marchait pas, tu faisais correspondre :
        bien.id avec selection.client
        et
        selection.client avec $_SESSION['id'].

        Donc il aurait plutôt fallu écrire, dans ta première requête :
        SELECT * FROM bien INNER JOIN selection ON bien.id = selection.produit WHERE selection.client = '".$_SESSION['id']."'"

        Xavier