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

Requêtes MySQL Discussion :

Pioché sur deux tables.


Sujet :

Requêtes MySQL

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Par défaut Pioché sur deux tables.
    Bonsoir tout le monde, voilà je vous explique mon problème :

    J'ai l'id d'un nom sur une table.
    J'ai le nom correspondant sur l'autre table.

    Se que je voudrait faire comme requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECTIONNE le champ name DE LA TABLE guild OU LE CHAMP correspond au champ guild_id de la table char.
    Donc j'avais déjà essayer quelque petit truc, mais sans succé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    $sql = 'SELECT * FROM `char` ORDER BY `class` DESC,`base_level` DESC'; 
    $res = mysql_query($sql);
    $sql2 = 'SELECT name FROM `guild` WHERE guild_id=`'.$result['guild_id'].'`';
    $abcd = mysql_query($sql2) or die (mysql_error());
     
     
    echo '<div align=center><table border="1" cellpadding="1" cellspacing="0" bordercolor="#CCCCCC" bordercolorlight="#CCCCCC" bordercolordark="#CCCCCC" style="border-collapse: collapse">';
    echo '<tr><td><p align="center"><font color="#305F80">Nom</td></p></font><td><p align="center"><font color="#305F80">Classe</td></p></font><td><p align="center"><font color="#305F80">Level</td></font></p><td><p align="center"><font color="#305F80">Guilde</td></font></tr></p>';
     
    if (!$res) die(mysql_error());
    while($result = mysql_fetch_assoc($res)) {
    echo '<tr><td><font face="verdana" style="font-size: 11px" color="black">  '.$result['name'].'  </font></td>';
    echo '<td><font face="verdana" style="font-size: 11px" color="black">  '  .$class[$result['class']].  '  </font></td>';
    echo '<td><font face="verdana" style="font-size: 11px" color="black">  '.$result['base_level'].'/'.$result['job_level'].'  </font></td>'; 
    echo '<td><font face="verdana" style="font-size: 11px" color="black">  '.$abcd['name'].'  </td>'; }
    //echo '<td><font face="verdana" style="font-size: 11px" color="black"><img src="emblem.php?guild='.$result['guild_id'].'>'.$result['guild_name'].'</font></td></tr>'; }
    Mais le mysql_error me retourne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Unknown column '' in 'where clause'
    Voilà voilà, si quelqu'un à une idée, ca serait généreux de sa pars de m'aider

    Cordialement,
    Akenshiro.

  2. #2
    Membre chevronné Avatar de jota5450
    Inscrit en
    Janvier 2006
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Janvier 2006
    Messages : 263
    Par défaut
    slt.

    J´arrive pas trop bien a comprendre.

    ta ecris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $res = mysql_query($sql);
    et apres:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $result['guild_id']
    d´ou vient le $result ?

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 194
    Par défaut
    bonjour,

    je vois pas d'ou tu prends le $result, c'est la d'ou vient l'erreur:
    $result['guild_id'] est vide.

    sinon au lieu de mettre deux requête tu peux tout simplement faire une jointure sur les 2 tables:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select name from guild, char where guild.guild_id = char.guild_id;

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Par défaut
    Merci pour toutes vos réponses, juste unproblème, j'ai essayé ta requete coca, mais seulemnt un mysql_error me retourne cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'char WHERE guild.guild_id = char.guild_id' at line 1
    Moncode étant devenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $sql = 'SELECT * FROM `char` ORDER BY `class` DESC,`base_level` DESC'; }
     
    $res = mysql_query($sql);
    $sql2='SELECT name FROM guild, char WHERE guild.guild_id = char.guild_id';
    $abcd = mysql_query($sql2) OR die (mysql_error());
    Merci d'avance.

    Cordialement,
    Akenshiro.

  5. #5
    Membre chevronné Avatar de jota5450
    Inscrit en
    Janvier 2006
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Janvier 2006
    Messages : 263
    Par défaut
    slt.


    char est un mot reserver... drole de nom pour une table, non ?

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 194
    Par défaut
    il faut placer char entre `

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Par défaut
    Merci merci, j'ai essayer de mettre les char entre `` , essayer sur toute la requete, rien n'y fait.
    Voici ma requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    'SELECT name FROM guild, `char` WHERE guild.guild_id = char.guild_id'
    Et voici la fameuse erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Column 'name' in field list is ambiguous
    Merci de votre aide, coca et jota

    Cordialement,
    Akenshiro.

  8. #8
    Membre chevronné Avatar de jota5450
    Inscrit en
    Janvier 2006
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Janvier 2006
    Messages : 263
    Par défaut
    slt


    name existe sur les 2 tables.... faut dire sur quelle table... la doc... la doc...

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Par défaut
    Problème résolue pour la requete, merci vous deux

    Cordialement,
    Akenshiro.

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

Discussions similaires

  1. Requete sur deux tables
    Par ReaseT dans le forum ASP
    Réponses: 13
    Dernier message: 07/02/2005, 16h18
  2. Cumul sur deux tables
    Par lper dans le forum Langage SQL
    Réponses: 6
    Dernier message: 30/11/2004, 15h02
  3. Comptez sur deux tables en même temps
    Par genova dans le forum Langage SQL
    Réponses: 12
    Dernier message: 13/09/2004, 18h58
  4. trigger sur deux tables
    Par Shabata dans le forum Développement
    Réponses: 4
    Dernier message: 04/05/2004, 16h55
  5. 2 Count() sur deux tables en jointures gauches
    Par Alexandre T dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/09/2003, 16h53

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