[réglé]Reponse double dans une requête avec LEFT JOIN

Bonjour,

Pour éviter d'exécuter plusieurs requêtes mysql, j'ai essayé de les regrouper en une requête avec LEFT JOIN.
Le problème c'est que la requête me renvoi des lignes en double

Voic le code d'avant (simplifié)
Code:
$sql2 = "SELECT * FROM $tab_ch WHERE (id_pseudo=$id_pseudo)";
$reponse2 = mysql_query($sql2);

while ($fiche = mysql_fetch_array($reponse2))
{
      $id_an = $fiche['id_an']
      $sql3 = "SELECT * FROM $tab_img WHERE (id_an=$id_an)";
      $reponse3 = mysql_query($sql3);

voici le nouveau code
Code:
$sql3 = "SELECT * FROM $tab_ch LEFT JOIN $tab_img on $tab_ch.id_an = $tab_img.id_an WHERE ($tab_ch.id_pseudo=$id_pseudo)";
$reponse3 = mysql_query($sql3);

Avec le nouveau code, si dans la table $tab_img il y a plusieurs lignes qui contient le même id_an, il affiche plusieurs fois la même ligne.
 
Et cela ?
Code:
$sql2 = "SELECT * FROM $tab_ch, $tab_img 
WHERE $tab_ch.id_an = $tab_img.id_an 
AND ($tab_ch.id_pseudo=$id_pseudo)"; 
$reponse3 = mysql_query($sql3);

ou en utilisant une syntaxe group by ?
 
oui avec le group by sauf que je n'arrive pas tout le temps à récuperer le id_annonce

edit: en spécifiant tout les champs que je veux récupérer, ça fonctionne

Merci Aye-Aye
 
J'allais justement te demander l'erreur retournée par la 1ère requête donnée... pour rectifier. :wink:
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut