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. 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
  2. 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
  3. merci pour ton aide, mais peux tu m'en dire plus, je n'y arrive toujours pas