PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 13-06-2011 22:02:52

phpdos
Membre
Inscription : 22-12-2009
Messages : 72

les jointures (My)SQL requêtes sur plusieurs tables

Bonsoir,

J'ai deux table avec la relation...

dans ma table :
tb_code_prmtn11_pub

j'ai 3 champs :
ID
fld_pub_id
fld_pub_description


dans ma table
tb_code_prmtn11

id_resultat
fld_pub_id
((FOREIGN KEY (`fld_pub_id`) REFERENCES `tb_code_prmtn11_pub` (`fld_pub_id`) ON DELETE NO ACTION ON UPDATE CASCADE,))


alors, je fais une requête SQL :

$req=  " SELECT fld_pub_id,fld_pub_description
  FROM tb_code_prmtn11
  INNER JOIN tb_code_prmtn11_pub
  ON tb_code_prmtn11_pub.fld_pub_id = tb_code_prmtn11.fld_pub_id";

while($row=mysql_fetch_row($rep)){
$fld_pub_id=$row[0];
$fld_pub_description=$row[1];

echo " $fld_pub_id - $fld_pub_description";
}

voici le message d'erreur :
Column 'fld_pub_id' in field list is ambiguous:(

pourquoi ? vous avez des idées ?:rolleyes:


Brave autiste
Cl... clown
Cl ? Cl ? Est-ce que j'ai une gueule de clowns ?
                  @*|*@

Hors ligne

#2 13-06-2011 22:25:47

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : les jointures (My)SQL requêtes sur plusieurs tables

SELECT tb_code_prmtn11.fld_pub_id.................
et j'irai pas plus loin, parce qu'avec des nom comme çà, çà devient vite illisible wink
a++

Hors ligne

#3 14-06-2011 05:25:32

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : les jointures (My)SQL requêtes sur plusieurs tables

Bonjour,

Dit differement de Pierrot, tu as le champ fld_pub_id dans la table tb_code_prmrn11_pub et tu as le même champ dans la table tb_code_prmrn11.
Donc si tu utilises les deux dans une requête sans préciser à quelle table ils appartiennent respectivement, il te retourne cet erreur ne sachant pas de quel champ de quelle table tu fais référence. Il faut donc le préciser en faisant comme Pierrot l'a fait, en faisant précéder le nom du champ par celui de la table auquel il appartient.

++


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#4 14-06-2011 05:37:08

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : les jointures (My)SQL requêtes sur plusieurs tables

c'est sur que tu es plus explicit wink
mais pour qq1 comme phpdos qui manipule aussi bien l'abstrait, il m'a bien compris wink
a++

Hors ligne

#5 14-06-2011 05:44:33

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : les jointures (My)SQL requêtes sur plusieurs tables

Saluton,
Encore plus meilleur, tu donnes à tes tables un surnom court (alias) dans la clause FROM, ce qui te permet de t'y référer de manière moins verbeuse dans le reste de la requête.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#6 14-06-2011 14:10:00

phpdos
Membre
Inscription : 22-12-2009
Messages : 72

Re : les jointures (My)SQL requêtes sur plusieurs tables

C’est excellent, Un gros merci à vous, Pierrot, Jc et Maljuna Kris...

Ça marche avec le code suivant :

$req=  " select c.id_resultat,c.fld_pub_id,d.fld_pub_description,c.fld_pub_source_id,e.fld_source_description
      FROM $table_db c
      INNER JOIN $table_db_pub d
      ON c.fld_pub_id = d.fld_pub_id
      INNER JOIN $table_db_source e
      ON c.fld_pub_source_id = e.fld_id_source ";

Merci et bonne journée

c'est RESOLU:) big_smile


Brave autiste
Cl... clown
Cl ? Cl ? Est-ce que j'ai une gueule de clowns ?
                  @*|*@

Hors ligne

Pied de page des forums