Bonjour,

Je suis en cours de création de mon site, j'ai une table avec plsusieurs champs faisant appel a d'autres table. Jusque la aucuns soucis, je récupère les données correspondantes suivant ce code :

 <?php  
// je fais appel au fichier de connection à la base de données  
require_once('includes/config.php');

// je prépare mes requete d'association
  $req001 = $bdd->prepare("SELECT * FROM ma_table1 INNER JOIN ma_table2 ON ma_table1.id = ma_table2.id"); 
  $req002 = $bdd->prepare("SELECT * FROM ma_table1 INNER JOIN ma_table3 ON ma_table1.id = ma_table3.id"); 
  $req003 = $bdd->prepare("SELECT * FROM ma_table1 INNER JOIN ma_table4 ON ma_table1.id = ma_table4.id"); 
  $req004 = $bdd->prepare("SELECT * FROM ma_table1 INNER JOIN ma_table5 ON ma_table1.id = ma_table5.id"); 
// j'execute chaques requetes  
  $req002->execute();
  $req003->execute();
  $req004->execute();
  $req001->execute();
//je récupère les informations correspondantes
  while ($donnees1 = $req001->fetch())
  while ($donnees2 = $req002->fetch())
  while ($donnees3 = $req003->fetch())
  while ($donnees4 = $req004->fetch())
    {
// j'affiche les information voulues
 echo $donnees1['nom']; echo $donnees2['nom']; echo $donnees3['nom']; echo $donnees4['nom']; 
}
// je ferme le traitement de mes requètes
$req001->closeCursor(); 
$req002->closeCursor();
$req003->closeCursor();
$req004->closeCursor();

?>              

Maintenant que cela fonctionne très bien, je souhaiterais savoir si y a moyen de réduire toutes ces requètes, car imaginons que j'en est 50, sa va faire des lignes, et des lignes de code :(

Merci d'avance de votre aide

1 réponse


$req=$bdd->prepare("select * from maTable1 join maTable2 on maTable1.idmaTable2=maTable2.id join maTable3 on maTable1.idmaTable3=maTable3.id ORDER BY maTable1.id ASC");