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 :

récupérer valeur d'une variable dans une autre table [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 174
    Par défaut récupérer valeur d'une variable dans une autre table
    Bonjour à tous

    Je suis débutant, j'essaie de m'y mettre mais c'est dur.

    J'ai un problème je n'arrive pas à récuper un ID d'une table et lui dire que c'est egal à un autre id dans une autre table, pour être plus clair je met le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $sql = "SELECT * FROM logitheque_sous_categories WHERE id='".$_GET['id_ss_cat']."'"; 
    // on envoie la requête   
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());   
     
    while($data = mysql_fetch_assoc($req))   
    { 
    	// lien de navigation
    	echo'<p><a href="index.php">Logithèque</a> <b>>></b> <a href="liste_categories.php?cat='. $data['id_cat'].' ">'.$data['nom'].'</a> <b>>></b> <a href="'. $PHP_SELF .'?id_ss_cat='. $data['id'].'&tri=nom&sens=ASC ">'.$data['nom'].'</a> </p>';
    dans la partie // lien de navigation, tout va presque bien pour ce qui est de '. $data['id_cat'].' ça récupere la bonne valeur, id_cat se trouve dans la table logitheque_sous_categories, mais je voudrais que le nom de cette catégorie s'affiche en '.$data['nom'].'.
    Je ne comprend pas comment faire pour donner l'instruction que l'id_cat de la table logitheque_sous_catégorie est egal à 'id' de la table logitheque_categories et donc de récuperer le nom dans logitheque_categories par rapport au 'id_cat' de la table logitheque_sous_categories.

    J'espere être assez clair

    j'ai essaye en mettant une autre requête ou en mettant une jointure, mais je dois pas faire les bonnes manips, ça ne marche pas. Je n'arrive qu'à mettre le nom de logitheque_sous_categories.

    Merci d'avance.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = "SELECT * FROM logitheque_sous_categories INNER JOIN logitheque_categorie ON logitheque_sous_categories.id=logitheque_categorie.id WHERE id='".$_GET['id_ss_cat']."'";
    J'espère avoir compris ta demande. Petite précision : à l'heure actuelle visiblement tu essaies de récupérer un champ qui est dans une table inconnue de ton select, ca semble logique qu'il ne le récupère pas ^^

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 174
    Par défaut
    Bonjour ratapapa

    Merci pour ta réponse, j'avais bien compris pour la table inconnue dans le select, mais je n'arrive pas à lui dire de le reconnaitre. j'ai aussi essayé avec une jointure, mais je n'y arrive pas.

    Je viens d'éssayer ton code mais j'ai un message d'erreur :

    Erreur SQL !
    SELECT * FROM logitheque_sous_categories INNER JOIN logitheque_categories ON logitheque_sous_categories.id=logitheque_categories.id WHERE id='1'
    Column 'id' in where clause is ambiguous
    Merci

  4. #4
    Membre éprouvé
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Par défaut
    Ca, ca veut dire que tu as un "id" dans tes deux tables.
    Faut donc préciser de l'id de quelle table tu parles, par exemple en remplacant id par logitheque_sous_categories.id

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 174
    Par défaut
    J'ai essayé en mettant logitheque_sous_categories.id_cat à la place de logitheque_sous_categories.id, puisque c'est id_cat qui est identique à id.

    Mais le résultat est le même.

    J'ai aussi essayé en mettant logitheque_categories.'.$data['nom'].' à la place de '.$data['nom'].'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $sql = "SELECT * FROM logitheque_sous_categories INNER JOIN logitheque_categories ON logitheque_sous_categories.id_cat=logitheque_categories.id WHERE id='".$_GET['id_ss_cat']."'"; 
     
    // on envoie la requête   
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());   
     
    while($data = mysql_fetch_assoc($req))   
    { 
    	// lien de navigation
    	echo'<p><a href="index.php">Logithèque</a> <b>>></b> <a href="liste_categories.php?cat='. $data['id_cat'].'">logitheque_categories.'.$data['nom'].'</a> <b>>></b> <a href="'. $PHP_SELF .'?id_ss_cat='. $data['id'].'&tri=nom&sens=ASC">'.$data['nom'].'</a> </p>';
    Merci

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Par défaut
    On va gagner du temps : peux tu nous donner la structure de tes deux tables ? On te dira alors exactement quelle est la syntaxe ^^

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 16/06/2011, 12h45
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. Réponses: 0
    Dernier message: 21/01/2009, 13h52
  4. Réponses: 10
    Dernier message: 20/06/2007, 18h02
  5. Réponses: 1
    Dernier message: 15/02/2007, 00h24

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