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

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

silverbeach
WRInaute impliqué
WRInaute impliqué
 
Messages: 322
Inscription: Mer Juil 20, 2005 15:50

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

Message le Mer Oct 22, 2008 17:10

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: Tout sélectionner
$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: Tout sélectionner
$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.
Dernière édition par silverbeach le Mer Oct 22, 2008 19:40, édité 2 fois.


Aye-Aye
WRInaute accro
WRInaute accro
 
Messages: 1910
Inscription: Ven Avr 15, 2005 8:52

Message le Mer Oct 22, 2008 18:34

Et cela ?
Code: Tout sélectionner
$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 ?

silverbeach
WRInaute impliqué
WRInaute impliqué
 
Messages: 322
Inscription: Mer Juil 20, 2005 15:50

Message le Mer Oct 22, 2008 18:55

merci je vais tester ça


Aye-Aye
WRInaute accro
WRInaute accro
 
Messages: 1910
Inscription: Ven Avr 15, 2005 8:52

Message le Mer Oct 22, 2008 19:20

Tu obtiens ce que tu souhaites ?

silverbeach
WRInaute impliqué
WRInaute impliqué
 
Messages: 322
Inscription: Mer Juil 20, 2005 15:50

Message le Mer Oct 22, 2008 19:25

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


Aye-Aye
WRInaute accro
WRInaute accro
 
Messages: 1910
Inscription: Ven Avr 15, 2005 8:52

Message le Mer Oct 22, 2008 19:42

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


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités