Récupération de résultats multiples sous forme de variables

Signaler
Messages postés
6
Date d'inscription
jeudi 14 septembre 2006
Statut
Membre
Dernière intervention
29 juin 2007
-
Messages postés
6
Date d'inscription
jeudi 14 septembre 2006
Statut
Membre
Dernière intervention
29 juin 2007
-
Bonjour,
je galère...


Voilà, en fait je suis en train d'essayer de mettre en place un affichage carto en m'appuyant sur l'api google map.
Comme j'ai plus de 300000 points géocodés j'aimerai simplement afficher les points situés dans une zone limitée. Concernant le positionnement carto je n'ai pas de problêmes. Mais en ce qui concerne la sélection ce n'est pas la même chose...
J'ai une base appelée coord_villes comprenant "le nom de la ville", "le code postal", "le département", "la latitude" et "la longitude".


Dans un premier temps l'utilisateur choisi le département puis la ville (Appelons la "ville1") ce qui me permet via ma table de récupérer la latitude ($LAT) et la longitude ($LONG) de Ville1


en utilisant la requête ci dessous j'obtiens les codes postaux des 5 villes les plus proches :


$sql = 'SELECT `cdp`,'
        . ' (6366*acos(cos(radians($LONG))*cos(radians(`coord_villes`.`lat`))*cos(radians(`coord_villes`.`long`)-radians($LAT))+sin(radians($LONG))*sin(radians(`coord_villes`.`lat`))))'
        . ' as Proximite'
        . ' from coord_villes '
        . ' order by Proximite'
        . ' limit 1,5';


Le résultat de cette requête me donne les 5 codes postaux les plus proches ainsi que la distance par rapport à ville1


j'aimerai récupérer ces 5 codes postaux pour les intégrer dans une autre requête.


Ma question est donc, comment faire pour que les codes postaux (cdp) récupérés par ma requête SQL puisse être utilisés par la suite comme des variables de type : $cdp1, $cdp2, $cdp3...


d'avance Merci...

3 réponses

Messages postés
991
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
29 août 2013
7
je vois pas ou est le probleme!!!
tu as juste a lire tes resultats et les ajouter dans ta requete!
tu peu nous dire un peu plus comment tu veu integrer ces resultats, et quel est ton probleme plus exactement?
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Salut,

$sql = 'SELECT `cdp`,'
        . '
(6366*acos(cos(radians($LONG))*cos(radians(`coord_villes`.`lat`))*cos(radians(`coord_villes`.`long`)-radians($LAT))+sin(radians($LONG))*sin(radians(`coord_villes`.`lat`))))'
        . ' as Proximite'
        . ' from coord_villes '
        . ' order by Proximite'
        . ' limit 1,5';

tu peux faire un truc comme ça :

mysql_query('SELECT tes_autres_champs FROM une_table WHERE cdp IN('.$sql.')');

ensuite ça fonctionne comme habituellement :)

<hr size="2" width="100%" /><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
6
Date d'inscription
jeudi 14 septembre 2006
Statut
Membre
Dernière intervention
29 juin 2007

merci de vos infos...


en fait j'ai générai des variables incrémentés de type $cdp[] pour récupérer mes cinqs variables...


 


merci encore