Ich möchte ein Feature in meinem neuesten Projekt vorzugsweise mit PHP erstellen. Wenn sich jeder Benutzer anmeldet, wird er seine Postleitzahl eingeben. Dann werde ich das hoffentlich mit Open Street Map in lat/long umwandeln.Beste Methode zum Erarbeiten von Orten in einem Umkreis von
Ich möchte in der Lage sein, andere Benutzer in der Nähe des aktuellen Benutzers zu finden. Ich habe viele Leute gesehen, die die Haversine-Formel verwenden, aber das würde bedeuten, dass der Benutzer die Details jedes anderen Benutzers abgefragt hat, um die Entfernung zu berechnen. Ich könnte dies cachen, aber es wird bald veraltet sein, wenn neue Benutzer sich anmelden.
Welche Auswirkung hätte die Ausführung der folgenden Abfrage auf mein System?
sql = "SELECT zipcode, (3959 * acos(cos(radians({$coords['latitude']}))
* cos(radians(latitude)) * cos(radians(longitude)
- radians({$coords['longitude']}))
+ sin(radians({$coords['latitude']})) * sin(radians(latitude))))
AS distance FROM zipcodes HAVING distance <= {$radius} ORDER BY distance";
Das ist von jemandes Blog gezogen.
Ich habe keine Zahlen für die Anmeldequote oder die Anzahl der Benutzer, da es noch in der Entwicklung ist.
Ich würde mich über Rückmeldungen oder andere Methoden freuen, die ich verwenden könnte, um passende Benutzer innerhalb eines bestimmten Radius zu finden.
ist das wirklich eine PHP-Frage? klingt eher nach einer SQL-Frage. –
Bevorzugte Sprachen sind PHP/MySQL. Ich wusste nicht, ob es irgendwelche Möglichkeiten gibt, dies mit PHP zu erreichen, die sonst übersehen wurden (natürlich abgesehen von den Berechnungen in PHP). –