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 :

requete dans une table avec une varible d'une autre table [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 105
    Points : 56
    Points
    56
    Par défaut requete dans une table avec une varible d'une autre table
    Bjr

    c'est la première fois que j'utilise 1 table pour rechercher dans une autre.
    je ne sais pas si j'ai été clair dans mon intitulé :
    Je résume
    une table "bien" avec une série de produits avec un id unique

    Le client sélectionne les produits 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é

    lorsqu'il recherche les biens sélectionnés, je fais appel à la table "selection"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	$sql="SELECT produit FROM selection  WHERE client = $id";
    	$resultat2=mysql_query($sql) or die("Erreur SQL : $sql<br/>".mysql_error());
    	$selection = mysql_fetch_array ($resultat2)
    mais comment je fais pour utiliser $selection['produit '] dans ma requete et imbriquer les 2.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql="SELECT * FROM bien WHERE id= '".$selection ['client']."'";
    	$resultat=mysql_query($sql) or die("Erreur SQL : $sql<br/>".mysql_error());
    	$bien= mysql_fetch_array ($resultat)
    Je ne trouve rien sur le forum.
    merci de votre aide

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 105
    Points : 56
    Points
    56
    Par défaut requete
    je voulais mettre bien sûr
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql="SELECT * FROM bien WHERE id= '".$selection ['produit']."'";
    	$resultat=mysql_query($sql) or die("Erreur SQL : $sql<br/>".mysql_error());
    	$bien= mysql_fetch_array ($resultat)
    pardon pour l'erreur de saisie

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 690
    Points : 20 211
    Points
    20 211
    Par défaut
    Ce que j'ai compris : tu cherches à récupérer les informations de produits sélectionnés par un utilisateurs.

    Si c'est bien ce que tu veux faire , cela s'appelle une jointure.

    Exemple :

    table bien
    id | nom | prix

    table user
    id | prenom | nom

    table selection
    idUser | idBien

    Si tu veux tous les produits d'un utilisateur tu vas faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT b.nom as nomproduit,b.prix u.prenom,u.nom as nomuser
    FROM selection s 
    INNER JOIN bien b ON s.idBien = b.id 
    INNER JOIN user u ON s.idUser = u.id
    WHERE s.idUser = 5
    Un lien pour mieux comprendre :
    http://www.epershand.net/developpeme...ght-join-mysql
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 105
    Points : 56
    Points
    56
    Par défaut requete
    salut
    ça semble être ça
    je vais voir le lien que tu m'a proposé
    merci pour ton aide

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 105
    Points : 56
    Points
    56
    Par défaut requete
    ça marche
    merci encore

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 105
    Points : 56
    Points
    56
    Par défaut jointure
    bjr
    je pensais avoir compris et pourtant cela ne marche pas !

    je répète la requete souhaitée,

    une table "bien" avec une série de fiche client avec un id unique

    Le client sélectionne les fiches 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é

    mais en utilisant le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	$sql="SELECT * FROM `selection`INNER JOIN `bien`  ON  `selection`.`client` = `bien`.`id` WHERE `selection`.`client` = $client";
    ($client étant l'id du client qui fait la requete)

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

    Je ne comprends pas mon erreur
    merci de votre aide

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 105
    Points : 56
    Points
    56
    Par défaut jointure
    déjà, la requête semble inversée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql="SELECT * FROM `bien`INNER JOIN `selection`  ON  `bien`.`id` = `selection`.`client` WHERE `selection`.`client` = '".$_SESSION['id']."'" ;
    mais ce n'est toujours pas bon

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 105
    Points : 56
    Points
    56
    Par défaut jointure
    j'ai trouvé, je confondais jointure et requête imbriquée
    merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/10/2014, 11h15
  2. Réponses: 6
    Dernier message: 19/03/2009, 11h22
  3. Réponses: 2
    Dernier message: 10/03/2009, 13h45
  4. Réponses: 17
    Dernier message: 21/04/2008, 02h21
  5. [C#] Remplir une combobox avec le champs d'une table Access
    Par Damsou dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/06/2005, 16h31

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