/ / PHP MySQL plus proche du code postal - php, mysql, store, code postal

PHP MySQL plus proche du code postal - php, mysql, store, code postal

Bonjour, j'ai trouvé cet article qui est utile mais malheureusement, je ne parviens pas à le faire fonctionner.

http://davidsimpson.me/2008/09/28/find-nearest-store-page-using-php-mysql-and-google-maps/

J'ai une liste de magasins dans une table MySQL avec le code postal, la longitude, la latitude et diverses autres informations spécifiques au magasin.

Je souhaite que l'utilisateur puisse entrer sonSur un formulaire, indiquez une distance maximale en miles (c.-à-d. un menu déroulant, 10 km, 20 km, etc.), puis extrayez les résultats dans l'ordre de la base de données MySQL.

Quelqu'un peut-il nous éclairer?

Cordialement

Réponses:

2 pour la réponse № 1

Bien que l'approche proposée dans cet exemple fonctionne, elle doit calculer la distance pour chaque ligne du tableau. C'est tout simplement trop inefficace lorsque vous travaillez à grande échelle. Jettes un coup d'oeil à ce tutoriel. Il utilise des types de données spéciaux dans MySQL pour les coordonnées et permet une recherche très rapide. J'espère que cela vous permettra de savoir par où commencer.

Votre solution peut être encore plus simple. Il faudra une liste de tous les codes postaux et également une liste de tous les magasins. Comme toutes vos entrées et sorties sont des facteurs connus, vous pouvez le pré-calculer dans des tables "cache" qui vous donneraient des résultats très rapides. Créez une table appelée StoreDistances10Miles (estimation des types de données et des conventions de dénomination):

postcode CHAR(8) INDEXED, store_id INT(8), metresAway INT(8)

Itérer sur chaque code postal, trier les magasins pardistance et sauver ceux dans les 10 miles dans la table. Maintenant, lorsque vous voulez chercher par code postal, cherchez simplement StoreDistances10Miles par code postal et vous aurez votre liste. Assurez-vous d’indexer postcode.

Vous aurez besoin de reproduire un tableau pour chaque distance que vous souhaitez proposer sur votre site.


0 pour la réponse № 2

Eh bien, il donne clairement comment obtenir les miles, alorstout ce dont vous avez besoin pour utiliser votre liste déroulante est "L’ajout de miles <{dropdownvalue}" à votre instruction SQL. donc si vous avez 10 miles, ses miles <10 etc.