Hallo, ich bräuchte bitte mal eure Hilfe.
Ich habe Tabelle "plz_de" wo alle Postleitzahlen und Längen- sowie Breitenangaben aus Deutschland hinterlegt sind.
In Tabelle "eintragen" habe ich eingetragene Events, auch hier sind u.a. die plz und Längen- sowie Breitenangaben hinterlegt.
Hier zunächst meine Abfrage:
----------------------------
Zum Verständnis:
$lat = 50.106529;
$lon = 8.662162;
$umkreis = 20;
-----------------------------
SELECT * FROM eintragen WHERE plz IN (SELECT
plz,
(
6371 * acos(
cos(
radians( '$lat' )
) * cos(
radians( lat )
) * cos(
radians( lon ) - radians( '$lon' )
) + sin(
radians( '$lat' )
) * sin(
radians( lat )
)
)
) AS distance
FROM
plz_de
HAVING
distance <= '$umkreis')
ORDER BY datum ASC
Ich errechne zunächst die Längen und Breitenangaben aus der vom Kunden eingegebenen Adresse.
Nun möchte ich Alle Events anzeigen lassen, die sich in diesem Postleitzahlen-Umkreis befinden.
Habt ihr eine Idee?
Ich habe Tabelle "plz_de" wo alle Postleitzahlen und Längen- sowie Breitenangaben aus Deutschland hinterlegt sind.
In Tabelle "eintragen" habe ich eingetragene Events, auch hier sind u.a. die plz und Längen- sowie Breitenangaben hinterlegt.
Hier zunächst meine Abfrage:
----------------------------
Zum Verständnis:
$lat = 50.106529;
$lon = 8.662162;
$umkreis = 20;
-----------------------------
SELECT * FROM eintragen WHERE plz IN (SELECT
plz,
(
6371 * acos(
cos(
radians( '$lat' )
) * cos(
radians( lat )
) * cos(
radians( lon ) - radians( '$lon' )
) + sin(
radians( '$lat' )
) * sin(
radians( lat )
)
)
) AS distance
FROM
plz_de
HAVING
distance <= '$umkreis')
ORDER BY datum ASC
Ich errechne zunächst die Längen und Breitenangaben aus der vom Kunden eingegebenen Adresse.
Nun möchte ich Alle Events anzeigen lassen, die sich in diesem Postleitzahlen-Umkreis befinden.
Habt ihr eine Idee?
Kommentar