[réglé]Reponse double dans une requête avec LEFT JOIN
6 messages
• Page 1 sur 1
- silverbeach
- WRInaute occasionnel

- Messages: 333
- Inscription: 20 Juil 2005
[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é)
voici le nouveau code
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.
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 passionné

- Messages: 1917
- Inscription: 15 Avr 2005
Et cela ?
ou en utilisant une syntaxe group by ?
- 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 occasionnel

- Messages: 333
- Inscription: 20 Juil 2005
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
edit: en spécifiant tout les champs que je veux récupérer, ça fonctionne
Merci Aye-Aye
6 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- double left join
- MySQL problème de requete LEFT JOIN
- [Résolu] Optimisation de LEFT JOIN
- Question mysql : LEFT JOIN+COUNT
- [Résolu] Update / Select LEFT JOIN / et mysql
- Requête à double conditions
- Optimiser une double requete
- Comment simplifier une double requête SQL?
- Requete de recherche du simple ou double dans GWT
- Requete SQL : double tri un peu complexe
Consultez la description détaillée des produits ou services de Google suivants : Google Calendar
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
