Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1869 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  requete croisée ??

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

requete croisée ??

n°911869
thekinder
Posté le 01-12-2004 à 10:41:10  profilanswer
 

Salut tout le monde
 
voilà, j'ai les tables suivantes :  
 
team
----
id
nom
 
matchs
------
id
id_team1
id_team2
score_team1
score_team2
 
Je veux afficher les matchs avec les noms respectifs de chaque team.
 
voici mon code :  
 
$sql4 = "SELECT * FROM matchs";
$req4 = mysql_query($sql4) or die('Erreur SQL !<br>'.$sql4.'<br>'.mysql_error());
while($data4 = mysql_fetch_assoc($req4)){
 $sql5 = 'SELECT * FROM team WHERE id='.$data4['id_team1'].' limit 1';
 $req5 = mysql_query($sql5) or die('Erreur SQL !<br>'.$sql5.'<br>'.mysql_error());
 $data5 = mysql_fetch_assoc($req5);
 $sql6 = 'SELECT * FROM team WHERE id='.$data4['id_team2'].' limit 1';
 $req6 = mysql_query($sql6) or die('Erreur SQL !<br>'.$sql6.'<br>'.mysql_error());
 $data6 = mysql_fetch_assoc($req6);
 echo $data5['nom'].' VS '.$data6['nom'].'<br>'."\n";
}
 
Ce code fonctionne mais n'est pas optmiser du tout  [:-(p]  
 
Je voudrais donc savoir comment avoir le meme résulta mais avec une requete croisée.
 
Merci d'avance


---------------
Kinder
mood
Publicité
Posté le 01-12-2004 à 10:41:10  profilanswer
 

n°911875
sielfried
Posté le 01-12-2004 à 10:48:13  profilanswer
 

SELECT T1.nom, T2.nom
FROM matchs M, team T1, team T2
WHERE M.id_team1 = T1.id AND M.id_team2 = T2.id


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°911891
thekinder
Posté le 01-12-2004 à 11:16:13  profilanswer
 

Merci mais comment je fais maintenant pour afficher T1.nom et T2.nom ?
 

Code :
  1. $sql = 'SELECT id_team1, id_team2, T1.nom, T2.nom FROM matchs M, team T1, team T2 WHERE M.id_team1 = T1.id AND M.id_team2 = T2.id';
  2. $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  3. while($data = mysql_fetch_assoc($req)){
  4. echo $data['nom'].' VS '.$data['nom'].'<br>'."\n";
  5. }


 
Si je mets T1.nom il me met une erreur et si je fais comme dans mon code ben j'ai, forcément, le meme nom


Message édité par thekinder le 01-12-2004 à 11:16:59

---------------
Kinder
n°911895
sielfried
Posté le 01-12-2004 à 11:19:53  profilanswer
 

echo $data['T1.nom']/echo $data['T2.nom'] devrait marcher (pas sûr) mais le mieux serait de mettre des alias à tes colonnes (SELECT T1.nom nom_team_1, T2.nom nom_team_2).
 
Enfin bon, tout ça tu devrais déjà le savoir si t'as lu une doc correcte sur le MySQL...


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°911897
titione
addicted
Posté le 01-12-2004 à 11:28:29  profilanswer
 

"select T1.nom AS nom1" si je peux me permettre
et puis c'est pas la bonne cat'

n°911900
thekinder
Posté le 01-12-2004 à 11:35:19  profilanswer
 

Merci à vous 2
 
En effet $data['T1.nom'] je l'avais testé mais ca ne fonctionnait pas.
J'ai donc mis des Alias (que j'avais completement zapés, et c'est bon ca marche.
 
Merci encore


---------------
Kinder

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  requete croisée ??

 

Sujets relatifs
Requete sql sur plusieurs tables avec nom de la tableAider moi pour une requete
Requête spéciale[MYSQL] Requete multi base de données
[MYSQL]requete selective distinganteComment executer une requete SQL avec VB6 ?
Rêquete imbriqué avec MySQLRequete ACCESS pour conserver la plus haute note
Requête croisée -> Etat sous AccessRequête d'analyse croisée en Access: "générer" des dates
Plus de sujets relatifs à : requete croisée ??


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR