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

cs_jsuisperdu Messages postés 6 Date d'inscription jeudi 14 septembre 2006 Statut Membre Dernière intervention 29 juin 2007 - 14 sept. 2006 à 05:38
cs_jsuisperdu Messages postés 6 Date d'inscription jeudi 14 septembre 2006 Statut Membre Dernière intervention 29 juin 2007 - 14 sept. 2006 à 12:38
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

Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 6
14 sept. 2006 à 09:16
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?
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
14 sept. 2006 à 12:27
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>
0
cs_jsuisperdu Messages postés 6 Date d'inscription jeudi 14 septembre 2006 Statut Membre Dernière intervention 29 juin 2007
14 sept. 2006 à 12:38
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
0
Rejoignez-nous