moteur toujours en panne

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

12 oct. 2005, 14:05

J'ai pas lu le post en entier.

Tu veux que l'intégralité des données de la table fk1 soient affichées avec les données de la table fk3 qui lui sont associées si elles existe, c'est ça ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 40 Messages

12 oct. 2005, 20:42

oui c'est ca

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

13 oct. 2005, 08:47

Dans ce cas là, il faut que tu fasses des LEFT JOIN. Le serveur de données va aller chercher dans la table à gauche de la jointure l'intégralité des lignes et va associer une ligne de la table de droite si elle existe. Si elle n'existe pas, il y aura des champs vide

Code : Tout sélectionner

SELECT fk1.cat, fk1.id, fk1.rub, fk1.titre, fk1.pseudom, fk1.ville, fk1.nomDestination1, fk1.departement, fk1.prix, fk1.id, DATE_FORMAT(fk1.date, '%d.%m.%y') date, SUBSTRING(fk1.description,1,200) AS description, fk2.id_auto, fk2.marques, fk2.departement, fk2.prix, fk2.date, fk3.id_prod, fk3.id_auto1 FROM (fk_produits as fk1 LEFT JOIN fk_auto as fk2 ON fk1.id = fk3.id_prod) LEFT JOIN inter as fk3 ON fk2.id_auto = fk3.id_auto1
Dans cette requete, l'intégralité de la table fk1 sera retournée, le lignes de la table fk2 qui ont une reférence dans la table fk1. Et même chose pour fk3, avec référence dans fk2
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 40 Messages

14 oct. 2005, 09:26

Cela me donne une erreur mysql :

Code : Tout sélectionner

Dépendance croisée dans une clause OUTER JOIN. Vérifiez la condition ON

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

14 oct. 2005, 09:29

:shock: :afraid:

Code : Tout sélectionner

Dépendance croisée dans une clause OUTER JOIN. Vérifiez la condition ON

C'est quoi cette erreur :lol:
Vérifie si les noms des champs dans les clause ON sont valides.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 40 Messages

14 oct. 2005, 09:50

C'est bon ca fonctionne je l'ai juste un peu modifié :

Code : Tout sélectionner

FROM (fk_produits as fk1 LEFT JOIN inter as fk3 ON fk1.id = fk3.id_prod) LEFT JOIN fk_auto as fk2 ON fk2.id_auto = fk3.id_auto1
Merci pour votre aide et bonne journée

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

14 oct. 2005, 10:55

Est-ce que c'est vraiment résolu ??

Eléphanteau du PHP | 40 Messages

14 oct. 2005, 15:40

En partie oui lorsque je lance la requête sur phpmyadmin cela fonctionne mais pas sur ma page.