/***********/
/* Données */
/***********/
$lat = 45.763140; // latitude
$lng = 4.828063; // longitude
$rayon_en_m = 2000; // rayon maximum de recherche en mètres, false si on ne veut pas de limite
/***********/
/* Calculs */
/***********/
$latlngMarge = $rayon_en_m*0.009;
$query = 'SELECT *, 3956*2*ASIN(SQRT(POWER(SIN(('.$lat.'-ABS(lat))*PI()/180/2),2)+COS('.$lat.'*PI()/180)*COS(ABS(lat)*PI()/180)*POWER(SIN(('.$lng.'-lng)*PI()/180/2),2)))*1609.34 AS distance_m FROM table WHERE 1'.(($rayon_en_m)?' HAVING distance_m<='.$rayon_en_m:'').' ORDER BY distance_m ASC';
// la variable distance_m vaut la distance à vol d'oiseau en mètres
Comments