Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Finden Sie Aufzeichnungen mit Längen- und Breitengrad

Sie müssen so etwas verwenden, um die nächstgelegenen Ergebnisse zu einem bestimmten Ort zu erhalten

$query = sprintf(
         "SELECT foo,
                  6371 * ACOS( Cos(RADIANS(lat)) * COS(RADIANS(%f))
                      * COS(RADIANS(%f) - RADIANS(lng)) + SIN(RADIANS(lat))
                      * SIN(RADIANS(%f)) ) * 1000 AS distance
            FROM `%s`
        ORDER BY distance",
        $lat, $lag, $lng, $table
    );

Sie müssen $lat setzen , $lng und $table entsprechend Ihrer Tabellenstruktur und grenzen Sie ggf. das Ergebnis ein.

Eine ausführliche Erklärung erhalten Sie hier Geo Distance Search with MySQL .