La Ferme du web - Les forums

Venez baraguiner avec la communauté !

Vous n'êtes pas identifié.

#1 18/11/2009 15:42:45

anarta
Membre
Lieu: Entre Orléans et Chateaudun
Date d'inscription: 05/03/2009
Messages: 45

Probleme de requete avec jointure

Bonjour à tous,
j'ai besoin d'un peu d'aide, j'essaye d'exécuter une requête mais ça ne marche pas.

Voila donc la requete (que j'ai un peu simplifie car elle fait + de 15 lignes):
<code type="php">
<?php
$requete = "SELECT DISTINCT membres.Id, membres.Pseudo, membres.DateNaissance, (6371 * ACos(Cos(RADIANS(communes.Lat)) * Cos(RADIANS($latitude)) * Cos(RADIANS($longitude) - RADIANS(communes.Lng)) + Sin(RADIANS(communes.Lat)) * Sin(RADIANS($latitude)))) AS Distance,
            photos.Repertoire, photos.Photo1, communes.Lat, communes.Lng
            FROM membres
            LEFT JOIN communes ON communes.Idcommunes = membres.idVille
            LEFT JOIN photos ON membres.Id = photos.ID_membres
            WHERE
            blabla && blabla &&           
            Distance <= $membresRayon ";
?>
</code>

L'erreur retourne est: champ Distance inconnu
J'ai essaye plusieurs chose mais rien a faire, par contre si j'enleve mes jointures ça fonctionne.
Merci de votre aide.

Hors ligne

 

18/11/2009 15:42:45

Botte De Foin Publicitaire


#2 18/11/2009 21:58:10

DJo
Administrateur
Date d'inscription: 31/07/2008
Messages: 569
Site web

Re: Probleme de requete avec jointure

Pourquoi tu ne fais pas le traitement en PHP ?
Ca serait plus optimisé que de le faire dans la requête à mon avis !

Sinon je vois pas au coup d'œil ce qui peut poser problème

Hors ligne

 

#3 19/11/2009 10:49:41

anarta
Membre
Lieu: Entre Orléans et Chateaudun
Date d'inscription: 05/03/2009
Messages: 45

Re: Probleme de requete avec jointure

Je suis oblige de faire le traitement en SQL.
En fait je calcule pour chaque membre la distance qui le sépare du membre qui effectue la recherche.
Je veux enregistrer le résultat dans un nouveaux champ Distance pour pouvoir l'afficher ensuite, pour le moment je ré-effectue le calcul en php pour pouvoir afficher la distance, je voulais donc éviter de faire 2 fois le même calcul.

Quand je fais ma requete sans jointure comme celle-ci ça fonctionne:
$requete = "SELECT City, IDcommunes, 6371 * ACos( Cos(RADIANS(Lat)) * Cos(RADIANS($latitude)) * Cos(RADIANS($longitude) - RADIANS(Lng)) + Sin(RADIANS(Lat)) * Sin(RADIANS($latitude)) ) AS Distance FROM communes  ORDER BY Distance ";

Hors ligne

 

Pied de page des forums

Powered by FluxBB
© Copyright 2008-2009 - LaFermeduWeb.net